私の問題の一部はこの答えで解決されました: Threadlink 、しかし私の問題の重要な部分は未解決でした!
使用後
diff a.csv b.csv | grep -E -A1 '^[0-9]+d[0-9]+$' | grep -v '^--$' | sed -n '0~2 p' | sed -re 's,^< (.*)$,\1,g'
何度か私は何かが残っているのを見つけました。複数の次の行が削除されることがあります。1行だけが削除された場合、次のようなものが見つかりました。
3663d3661
マルチブルラインの場合は次のとおりです。
3724,3725d3718
だから私はdiff
呼び出しを次のように変更しました:
diff a.csv b.csv | grep -E -A1 '^[0-9]+\,*[0-9]*d[0-9]+$' | grep -v '^--$' | sed -n '0~2 p' | sed -re 's,^< (.*)$,\1,g'
これは、削除された複数の行の最初の行に対して機能します。
私の質問は次のとおりです:そのような場合、どうすればすべての削除された行(おそらく次の5行)を取得できますか?diff
通話中に何を変更する必要がありましたか?