重複したテキストを含む行を削除します。

重複したテキストを含む行を削除します。

1行に2つのパスを含むファイルがあります。同じパスを含む行を2回削除したいです。

私はLinuxとSolarisで作業しています。 sed、awk、またはperlに1行のコードが必要です。

入力ファイルの例:

     /usr/lib/libgmp.so.3.3.3 /usr/lib/libgmp.so.3.3.3
     /usr/lib/libxslt.so.1.1.17 /usr/lib/libxslt.so.1.1.17
     /usr/lib/sse2/libgmp.so.3.3.3 /usr/lib/sse2/libgmp.so.3.3.3
     /usr/local/swp-tomcat-6.0/lib/commons-logging-1.1.1.jar /usr/local/swp-tomcat-6.0/lib/commons-logging-1.1.1.jar
     /usr/share/doc/libXrandr-1.1.1 /usr/share/doc/libXrandr-1.1.1
     /usr/share/doc/libxslt-1.1.17 /usr/share/doc/libxslt-1.1.17
     /etc/3.3.3.255 /etc/172.17.211.255
     /etc/1.1.1.255 /etc/172.17.213.255

予想出力:

     /etc/3.3.3.255 /etc/172.17.211.255
     /etc/1.1.1.255 /etc/172.17.213.255

ベストアンサー1

awk '{ if ($1 != $2 ) print $1" "$2; }' file

ファイルを適切なファイルに置き換えるだけです。

またはコメントで@manatworkが述べたように、もっと簡単です。

awk '$1!=$2' file

おすすめ記事