私のファイルには次の行が含まれています。
3 5 asd/sdf/rdc fgd/ghw/rtt
4 7 axd/sdf/rdc axd/ghw/ert
8 2 drf/sdf/uhg fgd/ghw/gcd
3列と4列の名前を比較して一致するか印刷したいです。結果は次のとおりです。
3 5 asd/sdf/rdc fgd/ghw/rtt diff
4 7 axd/sdf/rdc axd/ghw/ert equal
8 2 drf/sdf/uhg fgd/ghw/gcd diff
ベストアンサー1
使用awk
:
awk '{ split($3,a,"/"); split($4,b,"/"); $(NF+1) = a[1] == b[1] ? "equal" : "diff" }; 1' file
これはスラッシュで3番目と4番目のフィールドを分割し、分割文字列の最初の要素が等しいかどうかによって新しいフィールドを追加します。
1
最後に後続すると、変更されたレコードが出力されます。