フォルダ内のファイルを連続で比較する
CentOSでフォルダ内のファイルを連続で比較(diff)するための小ネタ(bash,シェル芸?)を記載する。
何らかの理由でフォルダ内のファイルを一括で編集すると仮定する。
今回は、/etc/logrotate.d/ 以下のファイルを一括で編集することを想定して、事前にフォルダのバックアップを取得しておく。
cp -pr /etc/logrotate.d/ ./backup
編集後に ./backup 内のファイルと /etc/logrotate.d/ 内のファイルをまとめて比較したいのだが、forループを使えば比較的楽にまとめてdiff が実施できる。
for file in `ls -1 backup`; do { echo "### $file ###"; diff backup/$file /etc/logrotate.d/$file; } done;
尚、2行目の echo はなくても比較自体はできるのだが、どのファイルの比較が出力されているのかわからなくなるので、個人的には入れておくことをお勧めします。
最近小ネタばっかりであまり勉強できていないなあ・・・