天天看点

文本文件命令(wc,cut,sort,uniq)及常用参数

wc 字数统计

 wc [OPTION]... [FILE]...

-l, --lines 显示行数

-w, --words 显示单词数

  -c, --bytes 显示字节数

                -L, --max-line-length 打印最长行的长度。

eg:

cut 文件提取命令 

    官方解释:remove sections from each line of files

     从文件中每一行选取部分

     根据官方解释可以知道cut是以每一行为处理对象的

用法:cut OPTION... [FILE]...

常用参数: (其他参数请参考命令手册:man cut)

                    -d' ',   指明分割符

    -f, 指明要保留的字段;

-f#:

    单个:#

    离散的多个:#,#,#

    连续的多个:#-#

       eg:1、只显示/etc/passwd 中用户对应的UID、GID

       #head /etc/passwd | cut -d: -f1,3,4 

              2、列出当前系统上所有已经登录的用户的用户名;                

                 注意:同一个用户登录多次,则只显示一次即可; 

                   #:who|cut -d' ' -f1|sort -u

sort   是对文本文件进行排序的命令 (默认按字符排序) 

官方解释:sort lines of text files 

--区分文本文件的行

        sort 也是以行为处理对象的

用法: sort [OPTION]...[FILE]...

常用参数:

-r: 逆序:

-f:忽略字符的大小写;

-t:指定字段分隔符

-k:选择以哪个区间进行排序

-n: 数值大小排序

-u: 排序之后去重  【重点】

eg:1、将/etc/passwd 以UID大小进行排序

2、 将/etc/passwd 文件以UID大小进行排序,并且只显示用户名和UID号

 sort -t: -k3 -n /etc/passwd |cut -d: -f3,1

<a href="http://s3.51cto.com/wyfs02/M01/5B/E4/wKioL1UWEHHDGY0lAACay8wIiMk385.jpg" target="_blank"></a>

uniq: 去重命令  

官方解释:report or omit repeated lines

--- 显示或删除重复的行

                常用参数 :

 -i: 忽略大小写

-d: 仅显示重复行

                         -u: 仅显示出现一次的行

-c:去重后显示每行出现的次数     

        创建aa.txt 文件,然后对该文件按重复的次数进行降序排列

<a href="http://s3.51cto.com/wyfs02/M01/5B/EA/wKiom1UWEbuh5G0JAABiQbAdfrc899.jpg" target="_blank"></a>

# sort a.txt | uniq -c | sort -r -n    // 对文件去重后,按重复出现的次数进行降序排列

<a href="http://s3.51cto.com/wyfs02/M02/5B/EA/wKiom1UWEnfR9YpPAABoD4RXUQw160.jpg" target="_blank"></a>

 ==========================

文件去重方法:

1、sort -u File 去重

2、uniq File

===============================

本文转自 1inux 51CTO博客,原文链接:http://blog.51cto.com/1inux/1625911