選項
作用-f
忽略大小寫;
-b忽略每行前面的空格;
-m按照月份進行排序;
-n按照數字進行排序;
-r反向排序;
-u等同於 uniq,表示相同的資料僅顯示一行;
-t指定分隔符,預設使用[tab]鍵分隔;
-o 《輸出檔案》
將排序後的結果轉存至指定檔案;
-k指定排序區域;
示例1:將 /etc/passwd 檔案中的賬號進行排序
sort /etc/passwd
示例2:將/etc/passwd 檔案中的第 4 列進行反向排序
sort -t : -rk 4 /etc/passwd
示例3:將 etc/passwd檔案中第 4 列進行排序,並將輸出內容儲存至test.txt 檔案中
sort -t : -k 4 /etc/passwd -o test.txt
選項
作用-c
進行計數;
-d僅顯示重複行;
-u僅顯示出現一次的行;
示例1:uniq命令去重,只能去連續的重複,如果隔開了還是會出現。
[ root@localhost ~]# cat fff. txt
linux 10
linux 20
linux 20 #linux10重複了2次
linux 30 #linux20重複了4次
linux 30 #linux30重複了2次
linux 10
linux 20
linux 20
centos 9
centos 6 #centos5重複了2次
centos 6 #centos6重複了2次
centos 7 #centos7重複了1次
centos 8 #centos8重複了2次
centos 8
centos 5
[ root@localhost ~]# uniq fff . txt
linux 10
linux 20 #通過uniq命令去重,比較侷限,只能去掉連續的重複,不能去隔開的重複
linux 30
linux 10
linux 20
centos 5
centos 6
centos 7
centos 8
centos 5
[root@localhost ~]# uniq -u abc. txt
linux 10
linux 10
centos 5
centos 7
centos 5
[root@localhost ~]# uniq -d abc. txt
linux 20
1 inux 30
linux 20
centos 6
centos 8
[root@localhost ~]# uniq -c abc. txt
1 linux 10
2 linux 20
2 linux30
1 linux 10
2 linux 20
1 centos 5
2 centos 6
1 centos 7
2 centos 8
1 centos 5
[ root@localhost ~]#
如果我們想去掉所有的重複行,都只出現一次的話,可以使用 sort -u 命令
[ root@localhost ~]# sort -u abc.txt
centos 5
centos 6
centos 7 #所有重複的行只出現一次
centos 8
linux 10
linux 20
linux 30
[ root@localhost ~]# uniq -u abc.txt
linux 10
linux 10
centos 5 #將連續重複的行全部去掉
centos 7
centos 5
shell指令碼工具之sed命令
sed就是批處理的流編輯器,可以對來自檔案或標準輸入的輸入流進行轉換,sed通常被用作管道中的過濾器.由於sed僅僅對其輸入進行一遍掃瞄,因此比其它互動式編輯器更加高效.檔案內容 root tong1 opt cat sed.txt 1tong 2 cheng 3 hellow 4word wu h...
shell指令碼之sed工具使用
執行 顯示 sed 選項 操作 引數 sed 選項 f 指令碼檔案 引數 3.3.1 p 輸出符合條件的文字 root localhost sed n p test.txt 輸出所有內容,等同於 cat test.txt 省略內容 root localhost sed n 3p test.txt 輸...
shell指令碼之sed工具使用
二 sed命令常見用法 sed 選項 操作 引數 sed 選項 f 指令碼檔案 引數選項 解釋 e或一expression 表示用指定命令或者指令碼來處理輸入的文字檔案 f或 file 表示用指定的指令碼檔案來處理輸入的文字檔案 h或 help 顯示幫助 n quiet或silent 表示僅顯示處理...