
No.4ベストアンサー
- 回答日時:
( cd (ディレクトリA) ; find . -print |sort ) > A.txt
( cd (ディレクトリB) ; find . -print |sort ) > B.txt
としてディレクトリリストを作っておいて
diff A.txt B.txt | grep '^<' (Aだけにあるファイル)
diff A.txt B.txt | grep '^>' (Bだけにあるファイル)
でどうでしょうか?
No.6
- 回答日時:
シェルスクリプトの中で使うなら
for name in `cd A ; find . -type f`
do if [ ! -e B/$name ]
then echo $name
fi
done
みたいなのもありかも。
find でAの下のファイルを捜し出して、
if でBの下に有るかどうか調べて
無ければ それなりの処理(上記では echo )をする
No.5
- 回答日時:
diff -r で比較する場合、diff に -I オプション(違いを無視する)があれば、
diff -I ".*" -r A B
で、両方にファイルがあれば内容にかかわらず一致とみなせるので、結果を見るのが楽になります。
#4の方の案のようにファイル一覧の入ったファイルを作って比較するなら、diffでなくcommを使うと便利です。
comm -23 A.txt B.txt →Aにだけあるファイルを出力
comm -13 A.txt B.txt →Bにだけあるファイルを出力
comm -12 A.txt B.txt →両方にあるファイルを出力
No.3
- 回答日時:
diff A B | grep ^A
ってのはダメなんでしょうか?もし純粋にファイル名だけをストリングとして欲しいなら、
diff A B | grep ^A | perl5 -e 'while(<STDIN>) { print "$2\n" if ($_ =~ /^([^:]*): (.*)/);}"
…ダメでしょうか?
No.2
- 回答日時:
diff でもできるような気がします。
[tmp]$ ls a b
a:
aa ad
b:
aa ac
で
[tmp]$ diff -r a b
bだけに発見: ac
aだけに発見: ad
という具合になりますので。
(OS: vine 2.6)
詳細はdiffのマニュアルページを見て戴くとして、、、。
No.1
- 回答日時:
一回だけ調べたいだけなら例えば
ls -l `ls ../A`
みたいな感じでどうですか。
この回答への補足
ご回答ありがとうございます。
おっしゃっているのは、
Bディレクトリに行き、
ls `ls ../A`
で、Aディレクトリにのみ存在するものが、
「No such file or directory」
と表示される
という意味だと思います。
質問に書いてないので申し訳ないのですが、
Aディレクトリの下にフォルダがあって、その中にファイルがあるというような深い階層も比較しようと考えています。
ls `ls ../A`
だと深い階層のファイルは比較できないようです。
lsを使うとすれば -R オプションが関係ありそうだ、という感じはするのですが、
具体的にどうすればよいのかわかりません。
単純なことだと思っているので、複雑にしたくないと思っています。
尚、シェルスクリプトの中で使います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- UNIX・Linux ブレース展開の使い方での質問です 2 2023/07/15 16:06
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マイクロソフトアカウントの認証
-
ホーム及びロック画面の消費が1...
-
エクスプローラのアクティブウ...
-
iobitのUninstaller or Geek Un...
-
windowsは使っていると...
-
勝手に無変換になる
-
Windows11でタスクバー・スタ...
-
写真をコピーしたら作成日時が...
-
通知領域のアイコンや文字サイ...
-
windows11、23H2用の更新プログ...
-
要件を充たしていないwindows11...
-
Windows11 デスクトップ アイコ...
-
Windowsの"legacy"ってなんです...
-
新品のパソコンをお店で買った...
-
Windows11のデスクトップのアプ...
-
Windows Media Playerを開くと...
-
windows11でクイックスキャン等...
-
Microsoftのページだけ全て「申...
-
WindowsってOSなんですか?
-
windows11 きれいなロック画面...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows11でタスクバー・スタ...
-
写真をコピーしたら作成日時が...
-
windows11、23H2用の更新プログ...
-
エクスプローラのアクティブウ...
-
勝手に無変換になる
-
ホーム及びロック画面の消費が1...
-
Windows11のデスクトップのアプ...
-
要件を充たしていないwindows11...
-
windows11でクイックスキャン等...
-
windows11 きれいなロック画面...
-
MS-DOS 6.22のダウンロード
-
Ubuntnがインストールされてい...
-
未来のWindowsってLinuxベース...
-
Windows nT系のLinux系より優れ...
-
windowsは使っていると...
-
windows 11 Pro を入れた、 自...
-
Windowsの"legacy"ってなんです...
-
Windows Media Playerを開くと...
-
「Wi-Fiアダプターへのアクセス...
-
新品のパソコンをお店で買った...
おすすめ情報