Linux_learningLinuxlinux&github

Linux文本操作命令

2019-05-09  本文已影响11人  Y大宽

5.1 wc

wc命令计算文件的行数,字数和字节数
用法

wc [-clw] 文件

-c 只显示bytes数
-l 只显示行数
-w 只显示字数

$ wc testfile           # testfile文件的统计信息  
3 92 598 testfile       # testfile文件的行数为3、单词数92、字节数598

5.2 diff

diff命令用了比较两个文件的差异

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][文件...]
$ cat p1
1
2
3
$ cat p2
a
b
c
d
$ cat p3
I
II
III

$ paste  p1 p2 p3
1       a       I
2       b       II
3       c       III
        d
$ paste -d '%^&' p1 p2 p3
1%a^I
2%b^II
3%c^III
%d^

看下-s参数

$ paste -s p1 p2 p3
1       2       3
a       b       c       d
I       II      III

相当于excel里的“转置粘贴”

5.4 sort命令

sort是用来对数据进行排序的命令,用法为

sort [-bcfMnrtk][源文件][-o 输出文件]

注意,sort可以对文本文件以行为单位进行排序。

sort的参数比较多,但常用的为一下几个
-n -k -t -r

举例如下

5.4.1-n的用法

$ sort t1

1
13
14
2
4
5
6
$ 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)

$ cat t2
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
$ sort -t ':' -k 2 t2
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

上例中,以':'进行分隔,按第2个字段进行排序。

上一篇下一篇

猜你喜欢

热点阅读