一、Linux文本处理命令一般有以下几个,cat、tac、head、tail、more、less、sort、uniq、wc
1、cat 显示文本内容
用法:cat FILENAME
-n 显示行号
cat test.txt
cat –n test.txt 显示行号
2、tac 和cat相似,但是是反向显示
tac test.txt
3、head :显示前几行
用法:head –n FILENAME head默认显示前十行
head test.txt 默认显示前十行
head –n 2 test.txt 只显示前两行 等同于 head –2 test.txt
4、tail :显示后几行
用法:tail –n FILENAME tail 默认显示后十行
tail test.txt
tail –n 2 test.txt 显示后两行 等同于 tail –2 test.txt
5、more、less
分屏显示文件,cat、tac、head、tail都是一次性全部输出到屏幕上。more、less可以分屏显示文件。
用法 more FILENAME
less FILENAME
more /etc/passwd
按空格键可以接着分屏查看文本剩余内容
less /etc/passwd
未显示完全,按空格键可以接着分屏查看文本剩余内容,按q键退出。
6、sort 对文件中的各行进行排序
用法:sort [optinos] FILENAME
-f :忽略字符大小写
-n :以数值大小进行排序
-r :降序
-u :移除重复的行,具有相同内容的行只保留一行
-R :随机排序
-k :指定排序列 例如 –k2 指定以第二列进行排序
-t :指定分隔符
test2.txt文件
使用sort –f 进行排序 -f忽略大小写
sort –f test2.txt
sort –r test2.txt 倒序排序
sort –u 移除重复的行
sort –n 以数值进行排序
首先观察test2.txt这个文件,这个文件有两列,列与列之间用空格隔开了,如果我们想要以第二列来排序,也就是数字来排序,该如何实现。
首先需要使用-t选项,指定间隔符,然后使用-k选项指定列。
sort –t ‘ ’-k 2 –n test2.txt
7、uniq 检查及删除文件中的重复行
用法:uniq options FILENAME
-c 统计每行重复的次数
-u 只显示没有重复的行
-d 只显示重复过的行
cat uniq.txt
uniq –c uniq.txt 统计每行重复的次数
这里请注意,uniq –c 默认认为相邻行相同才为重复的行,不相邻则不为重复的行,所以,一般我们在使用uniq –c 进行统计重复次数的时候都会和sort一起使用。
sort –n uniq.txt | uniq –c
这里使用了|(管道),管道的作用是将前一个命令的输出当做下一个命令的输入
uniq –u 只显示没有重复的行
uniq –d 只显示重复的行
8、wc 统计
用法:wc [options] FILE
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
wc uniq.txt
不带参数,默认会输出所有,即行数、单词数、字节数。
wc –l uniq.txt 显示行数
wc –w uniq.txt 显示单词数
wc –c uniq.txt 显示字节数
以上就是文本处理中的几个简单命令。