close

現場(環境): 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~

 

在這邊分享~

 

(本篇完)

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 IT001 的頭像
    IT001

    IT001

    IT001 發表在 痞客邦 留言(0) 人氣()