文本处理命令
目录
- 文本处理命令
- sort 命令
- uniq命令
- sort与uniq梦幻联动
- Cut命令
- cut和sort梦幻联动
- 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系统中,一段连续的数字或字母组合为一个词