一、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   显示字节数

以上就是文本处理中的几个简单命令。