スポンサーリンク

diffの-rで差分のあったファイルを一覧で取得

dir01とdir02のディレクトリ間で下記のように差分があったとします。
※MACターミナル(BSD系)での動作確認です。

下記のようにすると、ワンライナーで差分のあったファイルを取得できました。

スポンサーリンク

diff -rqとawkとbasenameを組み合わせる

上記の解説です。

まず、diff -rqオプションで、差分の内容を非表示にします。
参考:diffの-qオプションで差分のあるファイルのみ表示(差分の内容は非表示

そして、awkで2行目のみを抽出します。
参考:awkの$0,$1,$2,$3,変数で列の操作

そして、xargsとbasenameでファイル名のみを抽出します。

一覧が出来上がりました。

スポンサーリンク