![]() |
一行指令完成 |
舉例來說,阿舍有一個叫做 chtuniq.txt 的文字檔案,裡面的內容如上圖用 cat 指令所示的樣子,有二行重複的「中文列一」和三行分開放的空白行,如果阿舍想要把重複的行和空白行去除,只留下不重複的行的話,就可以用下面的指令來處理。
sort chtuniq.txt | uniq > result.txt
好吧 ! 阿舍自首,上面這行指令只能留下不重覆的行,所以,還是會有一個空白行的哩 ! 因此,如果想要像阿舍這麼懶惰的話,就要再借一下 sed 指令來幫忙囉 ! 就用下面這一行的組合技,就能得到滿意的結果哩 !
sort chtuniq.txt | uniq | sed /^$/d > result.txt
為什麼在用 uniq 指令前要先用 sort 指令來排序一下呢 ? 這是因為 uniq 指令只跟上一行比對是否有重複而已,所以,如果重複的資料不排在一起,那麼 uniq 指令就等於是無效哩 ! 所以,在使用 uniq 指令前,要先搖一搖,喔 ! 不! 是要先用 sort 指令排一排哩 !
另外,從阿舍的範例檔就能發現,sort 和 uniq 指令都有支援 Unicode 的正體中文字的排序哩 ! 真是讚哩 ! .... ^^=
問題還是沒解決嗎 ?? 這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法
沒有留言 :
張貼留言