linux文本处理命令之 sort uniq cut tr wc

文本处理命令

sort 命令


用于将文件内容排序

sort  2.txt : 默认按照开头的数字或者字母排序 
-n : 按照数值的大小排序 
[root@localhost ~]# sort -n 2.txt 
-r : 以相反的顺序排序
-k : 将指定某列排序
[root@localhost ~]# sort -nk2 1.txt 
-t : 指定分隔符,默认以空格为分割符
[root@localhost ~]# sort -n -k3 -t'#' 3.txt
以上也可以管道符编写命令""" cat 3.txt | sort -n -r -k3 -t '|' """
"""
vim 3.txt      |         |
114            | #1#1#4  | #1#1#4
436            | #4#3#6  | #4#3#6
677            | #6#7#7  | #1#3#2
132            | #1#3#2  | #6#7#7
:1,% s/ */#/g  |
"""
# 第一行#第二行#第三行#第四行

uniq命令

# 用于检查及删除文本文件中重复出现的行列, 一般与sort命令结合使用

-c : 在每列旁边显示该行重复出现的次数
[root@localhost ~]# uniq -c 4.txt 
     11 sdasdasd
      1 zxczxczxc
      1 zzzzzzzzz
      1 xxxxxxxxx
      4 zxczxczxc

-d : 仅显示重复出现的行列
[root@localhost ~]# uniq -d 4.txt 
sdasdasd
zxczxczxc

-u : 仅显示出现一次的行列
[root@localhost ~]# uniq -u 4.txt 
zxczxczxc
zzzzzzzzz
xxxxxxxxx
"那如何与sort梦幻联动尼???"

sort与uniq梦幻联动

[root@localhost ~]# sort -n 4.txt 
sdasdasd
sdasdasd
sdasdasd
sdasdasd
sdasdasd
sdasdasd
sdasdasd
sdasdasd
sdasdasd
sdasdasd
sdasdasd
xxxxxxxxx
zxczxczxc
zxczxczxc
zxczxczxc
zxczxczxc
zxczxczxc
zzzzzzzzz
"sort首字母排序 uniq去除重复"
[root@localhost ~]# cat 4.txt | sort | uniq 
sdasdasd
xxxxxxxxx
zxczxczxc
zzzzzzzzz
[root@localhost ~]# cat 4.txt | sort | uniq -c
     11 sdasdasd
      1 xxxxxxxxx
      5 zxczxczxc
      1 zzzzzzzzz

Cut命令

cut 命令用来显示行中的指定部分 删除文件中指定字段

-d : 指定字段的分隔符,默认的字段分隔符是"TAB"(按键)
"""
vim 文件
:1,% s/ */#/g
"""
[root@localhost ~]# cat 3.txt | cut -d '#' -f2 (指定第二列)
-f : 显示指定的列的内容
[root@localhost ~]# cat 3.txt | sort -n | cut -d '#' -f2

cut和sort梦幻联动

[root@localhost ~]# cat 3.txt
#1#2#1#4
#2#5#2#4#5#3#4
#4#5#5#6#7#6#8
#8#9#7#0
#7#8#9#7#7#3#5#6#3#6#2#4#6
#6#4#5#2#4#5#2#3#5#2#3
#3#4#6#4#5#7#5#6#7#8
#6#7#5#7#4#5#6#6#4#2#5#2
#3#5#2#5#2#5#4#3#6#4#5#7#4
#3#5#7#3#5#6#1#5#1#9#7
#6#i#8#9#9#0

[root@localhost ~]# cat 3.txt | cut -d '#' -f3 |sort -n

0
i
2
4
4
5
5
6
7
7
7
7
8
'注意:管道符也有先后顺序'

tr命令

替换或删除命令
(被替换文本的数量如果多余替换文本,一一对应结束,被替换的文本大于替换文本的内容跟随替换文本最后一个字符替换)
# 若文件中有zx将全部替换成d
[root@localhost ~]# cat 4.txt | tr zx d

# 将文件中的sdfgan按照asdf的顺序替换s->a,d->s,f->d,g->f
[root@localhost ~]# cat 4.txt | tr sdfg asdf

-d : 删除字符
将文本中的所有s删除
[root@localhost ~]# cat 4.txt | tr -d 's'

wc命令

统计 计算数字

-c : 统计文件的Bytes
[root@localhost ~]# cat 4.txt | wc -c

-l : 统计文件的行数
[root@localhost ~]# cat 4.txt | wc -l

'将文件内容某一行空格分割,代表分割为两个词'
[root@localhost ~]# cat 4.txt | wc -w
-w : 统计文件中单词的个数,默认以空白字符作为分隔符
# 注:在linux系统中,一段连续的数字或字母组合为一个词
posted @ 2021-12-21 20:55  谢俊杰  阅读(105)  评论(0编辑  收藏  举报