C言語関係掲示板

過去ログ

No.1250 指定した複数のディレクトリに同名のファイルが存在するかチェックする方法

[戻る] [ホームページ]
No.2528

指定した複数のディレクトリに同名のファイルが存在するかチェックする方法
投稿者---愛子(2004/08/25 15:42:10)


こんにちは。愛子です。
環境は、UNIX
Solaris2.5.1、Workshop Compilers 5.0、C++です。

A , ../B , ../../c , .
という感じで4つのディレクトリを見るとします。
この4つのディレクトリの中に同名のファイルが存在するか否かを
判断したいのですが、良いライブラリィはありますか?
ファイル名の指定までしないとダメなのでしょうか?
ファイル数が10万とかになるので、それは避けたいなーーーとは
思っているのですが。。。

どなたかご存知の方がいらっしゃいましたら、
教えてください。宜しくお願い致します。m(__)m


No.2529

Re:指定した複数のディレクトリに同名のファイルが存在するかチェックする方法
投稿者---nop(2004/08/25 18:54:06)


>A , ../B , ../../c , .
>という感じで4つのディレクトリを見るとします。
>この4つのディレクトリの中に同名のファイルが存在するか否かを
>判断したいのですが、良いライブラリィはありますか?

各ディレクトリのファイルを検索してファイル一覧を作成し、
作成した各ファイル一覧から重複するファイル名を検索する、
と言う処理を自分で作成して下さい。

それが嫌ならフリーソフトなどを探せばよいでしょう。



No.2530

Re:指定した複数のディレクトリに同名のファイルが存在するかチェックする方法
投稿者---かずま(2004/08/25 19:21:27)


> 環境は、UNIX

Unix なら、単にコマンドを打てば済むだけの話ではないのですか?
ls A >/tmp/xxa
ls ../B >/tmp/xxb
ls ../../C >/tmp/xxc
ls >/tmp/xxd

comm -12 /tmp/xx[ab]
comm -12 /tmp/xx[ac]
comm -12 /tmp/xx[ad]
comm -12 /tmp/xx[bc]
comm -12 /tmp/xx[bd]
comm -12 /tmp/xx[cd]

rm /tmp/xx[a-d]



No.2535

Re:コマンドをsystemで呼んで処理させることにしました。ありがとうございました
投稿者---愛子(2004/08/26 16:18:08)


nopさん、かずまさん レスをありがとうございます。

ファイル一覧を作るという発想が浮かびませんでした。。。
なるほどです。

ましてや、コマンドで出来るなんて・・
ファイル比較はdiffコマンドしか知らないし、
[]なんて使えることすら知らないし、、、
とっても勉強になりました。

今回は、かずまさんのコマンドをsystemで呼んで処理させようと
思います。

本当にありがとうございました。