awkで重複した要素のない行だけを抽出する

ふと、行単位で重複した要素のない行のみを抽出してみようということがあったのでやってみた。
どんな方法があるかと考えたけど、困ったときはやはりawkで対応してやるのが楽だ。

command | awk '{for(i=1;i<=NF;i++){if(!x[$i]){x[$i]++;y++};printf (NF==y) ? 
command | awk '{for(i=1;i<=NF;i++){if(!x[$i]){x[$i]++;y++};printf (NF==y) ? $0"\n" : ""}y=0}'
"\n" : ""}y=0}'
Sponsored Links

blacknon@BS-PUB-UBUNTU-01:~$ cat test.txt
123 456 789
789 789 123
999 123 999
444 564 384
333 333 333
233 344 114
blacknon@BS-PUB-UBUNTU-01:~$ cat test.txt | awk '{for(i=1;i<=NF;i++){if(!x[$i]){x[$i]++;y++};printf (NF==y) ? 
blacknon@BS-PUB-UBUNTU-01:~$ cat test.txt
123 456 789
789 789 123
999 123 999
444 564 384
333 333 333
233 344 114
blacknon@BS-PUB-UBUNTU-01:~$ cat test.txt | awk '{for(i=1;i<=NF;i++){if(!x[$i]){x[$i]++;y++};printf (NF==y) ? $0"\n" : ""}y=0}'
123 456 789
444 564 384
233 344 114
"\n" : ""}y=0}' 123 456 789 444 564 384 233 344 114

 


Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*