shell指令碼之排序工具(sort uniq)

2021-10-10 15:08:19 字數 2219 閱讀 2602

選項

作用-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 表示僅顯示處理...