sort 命令可以依據不同的資料型別來進行排序。sort 將檔案的每一行作為乙個單位,相互比較。比較原則是從首字元向後,依次按 ascii碼值進行比較,最後將它們按公升序輸出。
sort 命令格式如下:
[root@localhost ~]# sort [選項] 檔名
選項:sort 命令預設是用每行開頭的第乙個字元來進行排序的,比如:
[root@localhost ~]# sort /etc/passwdabrt: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/passwdvcsa: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/passwd3255
1537 /etc/passwd
統計伺服器上有多少個正常連線
[root@localhost ~]# netstat -an | grep established | wc -l4
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的結果輸出到檔案...