• ベストアンサー
  • 困ってます

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

  • 質問No.7671231
  • 閲覧数87
  • ありがとう数1
  • 回答数2

お礼率 34% (78/223)

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

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 47% (4569/9566)

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

お礼率 34% (78/223)

こんな便利な方法があるのですね。勉強になりました。
ありがとうございます。
投稿日時:2012/09/19 16:47

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 52% (202/385)

diff directoryA directoryB
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ