現場(環境): Ubuntu linux 套件: uniq
原因
有的時候會因為操作上的問題,
導致我們同一隻設定檔中有相同的「行」出現。
這時候該怎麼處理??
處理方式:
Linux 當中有一個很方便的指令叫作uniq ,可以幫你把重複的行清除掉。
但是,若你重複的行,不在前後行,這個方法就失效了,
root@tkb-kali:~# cat /root/Desktop/txtxt
YAAAAA
YAAAAA
YAAAAA
YAAAAA
YAAAAA
YAAAAA
sreYAAAAA
root@tkb-kali:~# cat /root/Desktop/txtxt | uniq
YAAAAA
sreYAAAAA
發現上述是可以縮排的,但若是改成下面的方式
root@tkb-kali:~# cat /root/Desktop/txtxt | uniq
()()YAAAAA
YAAAAA
()()YAAAAA
YAAAAA
()()YAAAAA
YAAAAA
sreYAAAAA
你會發現根本沒有幫你將重複的清除掉。
root@tkb-kali:~# cat /root/Desktop/txtxt | uniq
()()YAAAAA
YAAAAA
()()YAAAAA
YAAAAA
()()YAAAAA
YAAAAA
sreYAAAAA
所以單用uniq 的用法是有限度的~
要有進階版的處理方式,需要搭配其他正規化指令來進行,如sort。
這個寫法會先把不重複的設定值撈出來,再把重複的持續放在不重複的後面
# sort -k2n /root/Desktop/txtxt | uniq
sreYAAAAA
YAAAAA
()()YAAAAA
當然也可以單用sort & awk,
這個寫法也是把重複的持續放在不重複的後面
#sort -k2n /root/Desktop/txtxt | awk '{if ($0!=line) print;line=$0}'
sreYAAAAA
YAAAAA
()()YAAAAA
當然若重複的方式只是再完整的設定檔下面,又加了一樣的設定檔。
也可以透過vim方式進去直接砍掉也OK!~
在這邊分享~
(本篇完)
留言列表