8.11 sort_wc_uniq命令

sort命令

  • sort 命令,排序。將文件進行排序,並將排序結果標準輸出
    • sort命令,默認按照ASCII碼排序
    • -n 以數字排序,而其中的字符和字母都會默認爲0
    • -r 反序
    • -t 分隔符
    • -kn1/-kn1,n2
[root@hf-01 ~]# sort /etc/passwd        //sort命令,默認按照ASCII碼排序
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
[root@hf-01 ~]# head /etc/passwd >> 1.txt        //head命令,默認顯示前十行
[root@hf-01 ~]# vim 1.txt        //並在文件中添加一些字符,特殊符號
[root@hf-01 ~]# sort 1.txt        //sort命令,默認按照ASCII碼排序
<
{
1.txt
222111
22222222222aaaaaa
223333
22aaa
2.txt
47888888gdkgljsd
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
*dffadg
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
[root@hf-01 ~]#

sort命令的參數 -n

  • sort -n 1.txt中的字母和字符都默認爲0
    • 因此字母和符號會排在最前面,而後是數字排序
[root@hf-01 ~]# sort -n 1.txt
<
{
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
*dffadg
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
1.txt
2.txt
22aaa
222111
223333
47888888gdkgljsd
22222222222aaaaaa
[root@hf-01 ~]#

sort命令的參數-r

  • sort -nr 1.txt //反序排序
    • -r表示反序
[root@hf-01 ~]# sort -nr 1.txt
22222222222aaaaaa
47888888gdkgljsd
223333
222111
22aaa
2.txt
1.txt
sync:x:5:0:sync:/sbin:/bin/sync
operator:x:11:0:operator:/root:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
*dffadg
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
{
<
[root@hf-01 ~]#

sort命令的參數 -t

  • sort -t 分隔符

wc命令

  • wc -l 統計行數
    • -m 統計字符數 ,也會統計換行符(換行符是隱藏的)
    • -w 統計詞,它是以空格、空白字符進行區分的
      • 以分號分割的也會認爲是一個字符,好比111,qqq這個就會認爲是一個字符
  • cat -A 顯示文件中全部的字符(包括隱藏的)
[root@hf-01 ~]# wc -l 1.txt    //顯示文件的行數
22 1.txt
[root@hf-01 ~]# wc -m 1.txt        //顯示文件中的字符數
468 1.txt
[root@hf-01 ~]# vim 2.txt        //在文件中編寫兩行,6個字符
[root@hf-01 ~]# wc -m 2.txt    //在查看的時候,會顯示出8個字符
8 2.txt
[root@hf-01 ~]# cat -A 2.txt        //會統計全部的字符,包括隱藏字符
123$
avd$
[root@hf-01 ~]# wc -w 2.txt        //它是以空格、空白字符進行區分的
2 2.txt

uniq命令

  • uniq 去重, 用於報告或忽略文件中的重複行。常與sort排序命令結合使用
    • -c統計行數

uniq命令去重條件:須要先排序,再去重vim

[root@hf-01 ~]# vim 2.txt
[root@hf-01 ~]# cat 2.txt
123
avd 112,21a
123
avd
1
2
1
[root@hf-01 ~]# uniq 2.txt
123
avd 112,21a
123
avd
1
2
1
[root@hf-01 ~]# vim 2.txt
[root@hf-01 ~]# cat 2.txt        //查看文件內容
123
avd 112,21a
123
avd
1
1
2
[root@hf-01 ~]# uniq 2.txt        //會看到在更改排序後,去重了
123
avd 112,21a
123
avd
1
2
[root@hf-01 ~]#
  • uniq命令和sort命令結合使用
    • 先排序,再去重
[root@hf-01 ~]# sort 2.txt
1
1
123
123
2
avd
avd 112,21a
[root@hf-01 ~]# sort 2.txt |uniq
1
123
2
avd
avd 112,21a
[root@hf-01 ~]#

uniq命令參數 -c

  • uniq -c 統計重複次數
[root@hf-01 ~]# sort 2.txt |uniq -c
      2 1
      2 123
      1 2
      1 avd
      1 avd 112,21a
[root@hf-01 ~]#
相關文章
相關標籤/搜索