5.1 wc
wc命令计算文件的行数,字数和字节数 用法
代码语言:javascript复制wc [-clw] 文件
-c 只显示bytes数 -l 只显示行数 -w 只显示字数
代码语言:javascript复制$ wc testfile # testfile文件的统计信息
3 92 598 testfile # testfile文件的行数为3、单词数92、字节数598
5.2 diff
diff命令用了比较两个文件的差异
代码语言:javascript复制diff me.txt me_copy.txt -y
This is the first post. | This is the first first post.
This is the second line. | This is the second second line.
This is the third line. | This is the third third line..
diff的参数很多,具体参考Linux diff命令,常用-y 结果解释
"|"表示前后2个文件内容有不同 "<"表示后面文件比前面文件少了1行内容 ">"表示后面文件比前面文件多了1行内容
5.3 paste命令
paste命令用于合并文件的列,把文件内容列列合并。简单就是列追加,类似R中的cbind
命令
paste [-s] [-d<间隔字符>][文件1][文件2][文件...]
代码语言:javascript复制$ cat p1
1
2
3
代码语言:javascript复制$ cat p2
a
b
c
d
代码语言:javascript复制$ cat p3
I
II
III
代码语言:javascript复制$ paste p1 p2 p3
1 a I
2 b II
3 c III
d
代码语言:javascript复制$ paste -d '%^&' p1 p2 p3
1%a^I
2%b^II
3%c^III
%d^
看下-s参数
代码语言:javascript复制$ paste -s p1 p2 p3
1 2 3
a b c d
I II III
相当于excel里的“转置粘贴”
5.4 sort命令
sort是用来对数据进行排序的命令,用法为
代码语言:javascript复制sort [-bcfMnrtk][源文件][-o 输出文件]
注意,sort可以对文本文件以行为单位进行排序。
sort的参数比较多,但常用的为一下几个
-n
-k
-t
-r
举例如下
5.4.1-n的用法
代码语言:javascript复制$ sort t1
1
13
14
2
4
5
6
代码语言:javascript复制$ sort -n t1
1
2
4
5
6
13
14
-n
的作用很清楚了,可以使得number不是以字符排序,而是以数字排序。
$ sort -nr t1
14
13
6
5
4
2
1
-r(reverse)反向排序
5.4.2-kt的用法
对按字段分隔的数据非常有用 -t指定字段分隔符(sep) -k指定排序的字段(key)
代码语言:javascript复制$ cat t2
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
代码语言:javascript复制$ sort -t ':' -k 2 t2
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
上例中,以':'进行分隔,按第2个字段进行排序。