diffコマンドの表示を見やすくする
diff コマンドでファイルを比較できますが、下記のように標準出力だと少しわかりにくいです。
構文:diff ファイル1 ファイル2
$ cat test1.txt test1 test2 test3 $ cat test2.txt test2 test3 test4 $ diff test1.txt test2.txt 1d0 < test1 3a3 > test4
「-u」にオプションを付けると少し見やすくなります。
「-u」にオプションは、差分をunified形式で表示します、違いのある箇所を1つにまとめて、-記号と+記号で変更箇所を示す
$ diff -u test1.txt test2.txt --- test1.txt 2024-11-01 13:39:54.572648765 +0900 +++ test2.txt 2024-11-01 13:39:48.315595617 +0900 @@ -1,3 +1,3 @@ -test1 test2 test3 +test4
差分のあった前後の行やファイル名を省きたい場合は、diff コマンドの出力から、grep コマンドや awk などのフィルタリングツールを組み合わせることができます。
$ diff -u test1.txt test2.txt | grep "^[+-]" | grep -v "^+++" | grep -v "^---" -test1 +test4
【オプションの解説】
diff -u
: 差分をunified形式で表示。違いのある箇所を1つにまとめて、-記号と+記号で変更箇所を示すgrep "^[+-]"
:+
または-
で始まる行のみをフィルタリング(差分がある行)。grep -v "^+++"
とgrep -v "^---"
: ファイル名を示す行を除外。
ディスカッション
コメント一覧
まだ、コメントがありません