- - PR -
findでのファイル検索
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-07-13 21:13
findのファイル検索なんですが
find /test/sample/file/ -name "*_*" -type f というコマンドを使うとします。 下記のファイルがあった場合は /test/sample/file/123_123 /test/sample/file/aaa/444_444 /test/sample/file/123_123/aaa/bbb/ccc/555_555 全てヒットします。 これを指定ディレクトリ以下は検索しないようにさせたいのですが ようは出力結果は /test/sample/file/123_123 のみで。 /test/sample/file/ 以下のサブディレクトリは検索させないようにさせたいです。 ちなみに -maxdepth 0 の指定は使えませんでした。 皆さんご教授お願いします。 |
|
投稿日時: 2006-07-13 21:35
-maxdepth 1 じゃダメ?
|
|
投稿日時: 2006-07-13 21:50
わちゃさん
コメントありがとうございます。 本文にかいてますが「maxdepth」は使えませんでした。 せっかくアドバイス頂いたんですが、すいません。 |
|
投稿日時: 2006-07-13 22:35
-maxdepth 0 じゃなくて、-maxdepth 1 です。
あと、猿っぽいですが、こんなのは? find /dir/ -name "*_*" -type f | grep '^/dir/[^/]*$' |
|
投稿日時: 2006-07-14 09:13
> find /test/sample/file/ -name "*_*" -type f
find /test/sample/file/* -prune -name "*_*" -type f はどうでしょう? |
|
投稿日時: 2006-07-18 10:12
わちゃさん
少し言葉足らずでした。 ”-maxdepth”のオプション自体が無いんです。 findの細かいオプションはOSによって無い物もあるみたいです。 なので grepを使ってみます。 ありがとうございます。 tmpさん ご返信ありがとうございます。 ”-prune”も使ったのですが、ワイルドカードを使うと UNIXの仕様で1024以上の(でしたっけ)リストをキャッシュにためれないので ”-prune”は使用できません。 便利なんですけどね。 |
1