wc 字数统计

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

-l, --lines 显示行数

-w, --words 显示单词数

  -c, --bytes 显示字节数

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


eg:

    wKioL1UWFEDTIBfiAAC3iBqHOLg787.jpg




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 

  wKioL1UWFOaT9dHMAACeKsNJ1kQ238.jpg

            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大小进行排序

                        wKiom1UWDpvQV2NkAAF4292oFL4369.jpg

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

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

                        

wKioL1UWEHHDGY0lAACay8wIiMk385.jpg

   


uniq: 去重命令  

官方解释:report or omit repeated lines

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

                常用参数 :

 -i: 忽略大小写

-d: 仅显示重复行

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

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

eg:

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

wKiom1UWEbuh5G0JAABiQbAdfrc899.jpg

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


wKiom1UWEnfR9YpPAABoD4RXUQw160.jpg

      


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

文件去重方法:

1、sort -u File 去重

2、uniq File

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