您的位置:首页 > 运维架构 > Linux

Linux基础之文本处理命令

2014-03-15 21:41 681 查看
一、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   显示字节数



以上就是文本处理中的几个简单命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux target blank