转-Shell笔记——命令:Sort,uniq,join,cut,paste,split
转自:http://blog.csdn.net/wklken/article/details/6562098
Sort,uniq,join,cut,paste,split
命令—— Sort
Sort 可将许多不同的域按不同的列顺序分类
命令格式:
sort –cmu –o out-putfile [other options] *pos1 *pos2 input-files
选项:
-c 测试文件是否已经分类
-m 合并两个分类文件
-u 删除所有复制行
-o 存储 sort 结果的输出文件名
-b 使用域进行分类是,忽略首个空格
-n 指定分类是域上数字分类
-t 域分隔符;用非空个或者 tab 键分割域
-r 对分类次序或比较求逆
+n n 为域号,使用此域开始分类
n n 为域号,在分类比较时忽略此域,一般与 +n 一起使用
post m,n 传递到 m,n , m 为域号, n 为开始分类字符数
示例 :
1. 保存输出
$sort –o result sortfile
$sort sortfile > result
Sort 的启动方式, sort 认为一空格 / 多空格为分隔符,要加入其他的,必须使用 -t ,执行时,先查看 -t, 若是有,使用其进行分割,若是无,使用空格
2. 查看文件是否已排序
$sort –c sortfile
3. 使用其他分隔符
$sort –t : sortfile
4. 排完序后求逆
$sort –t : -r sortfile
5. 唯一分类,原文件中重复行去除
$sort –u sortfile
6. 指定分类域, 1 开始
$sort –t : -k 4 sortfile
$sort –t : -k 4 –k 1 sortfile
7. 指定 sort 序列
$sort +0 -2 +3 sortfile
8. 将两个分类文件合并
$sort –m sorted-file1 sorted_file2
命令—— uniq
Uniq 从文本文件中去除或禁止重复行,一般 uniq 假定文件已分类排序,并且结果正确 [sort –u 唯一性选项去除所有的重复行 ]
Uniq 中重复行指持续不断重复出现的行
格式 :uniq –udc –f input-file output-file
选项:
-u 只显示不重复行
-d 只显示有重复的行,每种重复显示一行
-c 打印每一重复行出现的次数
-f n 为数字,前 n 个域被忽略
1. 只显示非重复行
$uniq –u sortfile
2. 提取非重复行到某个文件
$uniq –u sortfile result
3. 只显示重复行
$uniq –d sortfile
4. 打印重复行及其出现的次数
$uniq –c sortfile
5. 忽略比较指定列
$uniq –f2 parts.txt
命令—— join
将来自两个分类文本文件的行连在一起
前提 : file1,file2 已分类
每个文件都有一些元素与另一文件相关——连
有点像求并集
注: joio 时文本域要少于 20=
格式: join [options] input-file input-file2
选项:
an n 为数字,用于连接时从文件 n 中显示不匹配行 ,-a1 表示第一个文件的不匹配行
o n,m n 为文件号, m 为域号, 1,3 表示只显示文件 1 的第三域
j n m n 为文件号, m 为域 使用其他域做连接域
t 域分隔符 用来设置非空格 / 非 tab 分隔符
1. 连接两个文件 [ 默认连接域为域 0]
$Join name.txt. turn.txt
2. 显示第一个文件的不匹配行
$join –a1 name.txt town.txt
3. 设置显示连接结果
$join –o 1.1,2.2 name.txt town.txt
第一个文件第一个域和第二个文件第二个域作为显示结果
4. 设置连接域
$join –j 1 3 –j 2 2 file1 file2
命令—— cut
用来从标准输入或文本文件中剪切列或域
可将剪切到的文本贴到另一个文件中
格式 :cut [options] file1 file2
选项:
-c list 指定剪切字符数
-f field 指定剪切域数
-d 指定与空格 /tab 不同的分隔符
-c 指定剪切的字符范围,字符,如 -c 1,5,7 第 1,5,6,7 字符 -c 1-50 前 50 个字符
-f 指定剪切的域范围 -f 1,5 剪切 1,5 两个域 -f 1,10-12 剪切 1,10,11,12 四个域
1. 使用域分隔符
$cut –d : -f3 data
[root@localhost temp]# cut -d: -f1 /etc/passwd |head -5
root
bin
daemon
adm
lp
–d : 指示cut改用:为分隔符,-f1表示第一个字段意思。
2. 剪切指定域
$cut –d
: -f1,3 data ##表示取出各行第一及第三个字段意思
3. 剪切字符
$who –u
| cut –c 1-8
[root@localhost temp]# who -u
root tty1
2011-10-19 22:09 old
2463 (:0)
root pts/0 2011-11-04
08:48 . 7804
(192.168.0.86)
root pts/2 2011-10-31
09:25 old 18934
(:0.0)
root pts/3 2011-10-31
09:47 old 18934
(:0.0)
[root@localhost temp]# who -u |cut -c 1-8
root
root
root
root
命令: paste
Paste 将数据贴到相关文件中
存在两个不同来源 数据应先分类,确保文件行数同
格式 :paste –d –s file1
file2
选项:
-d 指定不同分隔符
-s 将每个文件合并成行而不是按行黏贴
File1
1
2
File2
A
B
1. 合并之
$paste
file1 file2
1 A
2 B
2. 指定分隔符
$paste
–d: file2 file1
A:1
B:2
3. 合并两行,而非按行黏贴
$paste
–s file1 file2
命令: split
用来将文件切分为小文件
格式: split
–output_file_size input_filename output_filename
其中 out_file_size 为被分割行数,默认 1000
转-Shell笔记——命令:Sort,uniq,join,cut,paste,split的更多相关文章
- linux awk,sort,uniq,wc,cut命令详解
1.awk awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 $ 表示当前行 $ 表示第一列 NF 表示一共有多少列 $NF 表示最 ...
- 4、linux-grep awk sed and cuf sort uniq join
1.grep 1.1 grep [-invc] [--color=auto] '搜寻字符串' filename选项与参数:-i :忽略大小写的不同-n :顺便输出行号-v :显示没有 '搜寻字符串' ...
- Linux下命令sort, uniq
标题:sort, uniq 一.sort命令的使用 1. 作用:sort命令顾名思意,其可以帮助我们进行排序,而且可以依据不同的数据类型来排序.例如数字和文字的排序就不一样,sort可以指 ...
- atnodes命令+sort+uniq统计特征信息到结果文件
atnodes 'zgrep -oE "保单号重复" log.2016-10-23*.gz log.2016-10-24*.gz log.2016-10-25-*gz | grep ...
- linux shell——md5sum,sha1sum,sort,uniq (转)
1.文件校验 1. md5sum eg: md5sum filename 注:生成一个128位的二进制位,即32位的十六进制字符串 1.验证文件的正确性: md5sum file1 file2 &g ...
- 【转】Linux shell笔记
由于工作的需要,越来越多的接触到linux系统.最近看了<Linux与Unix Shell>这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅. No.001 文件安全与权 ...
- Linux管线命令 - cut,grep,sort,uniq,wc,tee,tr,col,join,paste,expand,split,xargs
在每个管线后面接的第一个数据必定是『命令』喔!而且这个命令必须要能够接受 standard input 的数据才行,这样的命令才可以是为『管线命令』,例如 less, more, head, tail ...
- Shell学习(七)——sort、uniq、cut、wc命令详解
Shell学习(七)--sort.uniq.cut.wc命令详解 转自:[1]linux sort,uniq,cut,wc命令详解 https://www.cnblogs.com/ggjucheng/ ...
- [转]linux sort,uniq,cut,wc命令详解
sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...
随机推荐
- sqlserver高版本还原到低版本方法
想要将Sqlserver2014高版本备份的数据还原到低版本SqlServer2008R2上去,但是这在SqlServer中是没法直接还原数据库的,通过以下方法可以顺利还原. 通过高版本生成sql脚本 ...
- c++位运算符 | & ^ ~ && ||,补码,反码
一:简介 1 位逻辑运算符: & (位 “与”) and ^ (位 “异或”) | (位 “或”) or ~ (位 “取反” ...
- 【转】ClickOnce部署Winform程序的方方面面
源地址:http://www.cnblogs.com/parry/archive/2012/10/30/ClickOnce_Winform_Deployment.html
- CF525E Anya and Cubes(meet in the middle)
题面 给你\(n\)个数,\(n\le 26\)初始序列为\(a_i,0\le a_i\le 10^9\) 你有\(k\)个\(!\),每个\(!\)可以使序列中的一个数变成\(a_i!\) 例如\( ...
- 【bzoj4939】【YNOI2016】掉进兔子洞(莫队)
题目描述 您正在打galgame,然后突然发现您今天太颓了,于是想写个数据结构题练练手: 一个长为 n 的序列 a. 有 m 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个 ...
- 缩点+spfa最长路【bzoj】 1179: [Apio2009]Atm
[bzoj] 1179: [Apio2009]Atm Description Siruseri 城中的道路都是单向的.不同的道路由路口连接.按照法律的规定, 在每个路口都设立了一个 Siruseri ...
- luogu1999 高维正方体
神仙题 分析法是个好方法 反正xjb分析就分析出来了 首先,i维立方体的点数(0维元素数)为\(2^i\) 首先0维肯定是1(不就是一个点吗) 你想想你是怎么用点拼成线段的 你把两个点往地上一扔 然后 ...
- IDEA中jsp页面写out.println会报错?
解决办法: (1)在WEB-INF目录下新建一个lib目录,并把Tomcat安装目录下的如下两个jar包复制过来. (2)选择jsp-api.jar,右键,Add as Library. (3)在Fi ...
- Oracle11g 脚本创建表空间和用户
/*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace emaoyi_temp tempfile 'D:\app\Administrator\prod ...
- C语言中变量、全局变量与变量的作用域
什么是变量: 变量常量都是表征数据的一种形式:常量用来表示数据的值: 变量不仅可以用来表示数据的值:还可以用来存放数据:因为变量对应着一定的内存单元: 变量和常量必须先定义后使用. 变量名和常量名都是 ...