Linux Shell程式設計 sort wc命令

2022-07-31 19:54:20 字數 2181 閱讀 1644

sort 命令可以依據不同的資料型別來進行排序。sort 將檔案的每一行作為乙個單位,相互比較。比較原則是從首字元向後,依次按 ascii碼值進行比較,最後將它們按公升序輸出。

sort 命令格式如下:

[root@localhost ~]# sort [選項] 檔名

選項:sort 命令預設是用每行開頭的第乙個字元來進行排序的,比如:

[root@localhost ~]# sort /etc/passwd

abrt:x:

173:173::/etc/abrt:/sbin/nologin

adm:x:

3:4:adm:/var/adm:/sbin/nologin apache:x:48:48:apache:/var/www:/sbin/nologin

bin:x:

1:1:bin:/bin:/sbin/nologin

daemon:x:

2:2:daemon:/sbin:/sbin/nologin

…省略部分輸出…

如果想要反向排序,則使用「-r」選項,比如:

[root@localhost ~]# sort -r /etc/passwd

vcsa:x:

69:69:virtual console memory owner:/dev:/sbin/nologin

uucp:x:

10:14:uucp:/var/spool/uucp:/sbin/nologin

tcpdump:x:

72:72::/:/sbin/nologin

…省略部分輸出…

如果想要指定排序的字段,則需要使用"-t"選項指定分隔符,並使用"-k"選項指定欄位號。假如我想要按照 uid 字段排序 /etc/passwd 檔案,命令如下:

[root@localhost ~]# sort -t"

:"-k 3,3 /etc/passwd

bin:x:

1:1:bin:/bin:/sbin/nologin

uucp:x:

10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:

11:0:operator:/root:/sbin/nologin

abrt:x:

173:173::/etc/abrt:/sbin/nologin

daemon:x:

2:2:daemon:/sbin:/sbin/nologin

…省略部分輸出…

指定分隔符是":",以第三個字段開頭,以第三個字段結尾排序,也就是只用第三個字段排序

sort 預設是按照字元排序的,daemon 使用者的 uid 是 2,前面使用者的 uid 的第乙個字元都是 1,所以daemon 使用者排在了最後。如果要想按照數字排序,請使用"-n"選項,比如:

[root@localhost ~]# sort -n -t"

:" -k 3,3 /etc/passwd

root:x:

0:0:root:/root:/bin/bash

bin:x:

1:1:bin:/bin:/sbin/nologin

daemon:x:

2:2:daemon:/sbin:/sbin/nologin

adm:x:

3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spod/lpd:/sbin/nologin

...省略部分輸出...

當然,"-k"選項可以直接使用"-k 3",代表從第三個欄位到行尾都排序(第乙個欄位先排序,如果一致,則第二個欄位再排序,直到行尾)。

命令格式如下:

[root@localhost ~]# wc [選項] 檔名

選項:統計一下 /etc_passwd 檔案中到底有多少行、多個單詞、多少個字元,命令如下:

[root@localhost ~]# wc /etc/passwd

3255

1537 /etc/passwd

統計伺服器上有多少個正常連線 

[root@localhost ~]# netstat -an | grep established | wc -l

4

linux shell 程式設計

bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...

linux shell 程式設計

1 程式設計入門 shell的簡介。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理...

Linux Shell 程式設計

檔案描述 shell 代號 dev stdin 標準輸入,一般指的是鍵盤輸入 dev stdout 標準輸出,一般指終端顯示器 dev stderr 標準錯誤,一般指終端顯示器 l輸出重定向 l輸入重定向 l追加重定向 l錯誤重定向 2 l輸出和錯誤同時重定向 應用例子 1.將 ls的結果輸出到檔案...