cut
-c:按字符截取;(n,-n,n-,n-m ,(n,m,v) )
-b:按字节截取,用法和-c类似;
[lianjiao@localhost 7_3_sed]$ echo "abcd1234" | cut -c 2
b
[lianjiao@localhost 7_3_sed]$ echo "abcd1234" | cut -c -2
ab
[lianjiao@localhost 7_3_sed]$ echo "abcd1234" | cut -c 2-
bcd1234
[lianjiao@localhost 7_3_sed]$ echo "abcd1234" | cut -c 2-4
bcd
[lianjiao@localhost 7_3_sed]$ echo "abcd1234" | cut -c 2,6
b2
-f:按照指定域截取
[lianjiao@localhost 7_3_sed]$ echo "a;b;c;d" | cut -d';' -f 2
b
[lianjiao@localhost 7_3_sed]$ echo "a;b;c;d" | cut -d';' -f 1
a
sort:按照文件的每一行作为单位进行比较;比较原则是从首字符向后,依次按照ASCL码值比较,升序输出;
[lianjiao@localhost 7_3_sed]$ cat file
10000eee
1000ffff
100bbbbb
10aaaaaa
sort file:按照ASCL码值升序排序;
[lianjiao@localhost 7_3_sed]$ sort file
10000eee
1000ffff
100bbbbb
10aaaaaa
sort -n file :按照数字大小排序;
[lianjiao@localhost 7_3_sed]$ sort -n file
10aaaaaa
100bbbbb
1000ffff
10000eee
sort -r file:降序
[lianjiao@localhost 7_3_sed]$ sort -r file
fff
eee
ddd
ccc
bbb
bbb
bb
aaa
sort -u file:去掉重复的行;
[lianjiao@localhost 7_3_sed]$ sort -u file
aaa
bb
bbb
ccc
ddd
eee
fff
按照指定域排序;sort -t’[filed separator]’ -kn
[lianjiao@localhost 7_3_sed]$ sort -n -t':' -k2 file
bbb:3
dd:5
aaa:6
fff:6
bbb:7
eee:11
bb:12
ccc:30
-f :忽略大小写;
注意:sort不支持重定向;sort file>file1这种写法是不支持的,可以使用-o将排序输出结果导入到文件
sort -r file -o file1
uniq:
uniq一般会和sort搭配使用;
比如显示重复行的个数,效果是:先排序,后计算相同行;
-c:在每行行首之前加上本行在文件中出现的次数;
[lianjiao@localhost 7_3_sed]$ sort file | uniq -c
2 aaa:6
1 bbb:7
3 ccc:30
1 dd:5
注意:后两种使用时需要和sort搭配使用,否则会将不相邻的在相同行当作不同行看待;
[lianjiao@localhost 7_3_sed]$ uniq -c file
1 aaa:6
1 dd:5
1 ccc:30
1 aaa:6
1 ccc:30
1 bbb:7
1 ccc:30
-u:只显示不重复行
-d:只显示重复行;