diffの出力ファイルから行を削除します。

diffの出力ファイルから行を削除します。

diff -c出力を使用してテキストファイルに保存するスクリプトがあります。私が望むのは、「!」のない行を削除し、感嘆符付きの行を表示することです。可能ですか?このcutコマンドで問題は解決しますか?

diff -cディレクトリ1からディレクトリ2にファイルを分割するので、これを使いたいです。

例:

*** 1,3 ****
! 3856715355 /home/dir
  4294967277 /home/dir/file1 <---remove this line
! 154272340 /home/dir/file5
--- 1,4 ----
! 1765342654 /home/dir
  4294967277 /home/dir/file1 <--- remove this line
! 803775803 /home/dir/file4
! 2580902204 /home/dir/file99

ベストアンサー1

  • そしてgrep

    diff -c file1 file2 | grep '^[-!*]'`
    
  • そしてsed

    diff -c file1 file2 | sed '/^[-!*]/!d'
    

おすすめ記事