私はこの2つのcsvファイルを持っています
古い.csv
station,32145,80
station,32145,60
new.csv
station,32145,80
station,32145,801
結果を期待する
結果.csv
station,32145,80,no change
station,32145,801,new
station,32145,60,Delete
diff
仕事をするためにとを使用しawk
ましたが、少し問題があります。行が変更されていないか、削除された行が正しく更新されましたが、新しい行は変更されていません。誰でも私の間違いを教えてもらえますか?
diff -W999 --side-by-side old.csv new.csv |
awk '/[|][\t]/{split($0,a,"[|][\t]");print a[2]" No Change"};/[\t] *<$/{split($0,a,"[|][\t]* *<$");print a[1]" Delete"};/>[\t]/{split($0,a,">[\t]");print a[2]" New"}'