• ベストアンサー

UNIXで2つのdir内のファイルのチェック

UNIXで2つのdir内に存在するファイルのチェックをやりたいのですが なさけないことにいい方法が思いつきません。 具体的にはDIR-A内に存在するファイルが全てDIR-B内に存在するか どうかをチェックして存在してないものを出力といったことです。 方法はUNIX上で実行できればとくに問いません。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

DIR-Aに存在するがDIR-Bに存在しないファイル名を出力すると言うことですかね。 comm -23 <(ls -A1 DIR-A) <(ls -A1 DIR-B) ついでに、DIR-Bに存在するがDIR-Aに存在しないファイル名は、 comm -13 <(ls -A1 DIR-A) <(ls -A1 DIR-B) 両方に存在するファイル名は、 comm -12 <(ls -A1 DIR-A) <(ls -A1 DIR-B) シェルが、<( ) の構文をサポートしていない場合は、 ls -A1 DIR-A >tmp-a ls -A1 DIR-B >tmp-b comm -23 tmp-a tmp-b のようにしてください。

Kasaoka-Taroh
質問者

お礼

こんな便利な方法があるのですね。勉強になりました。 ありがとうございます。

その他の回答 (1)

  • localica
  • ベストアンサー率52% (202/385)
回答No.1

diff directoryA directoryB

関連するQ&A