• ベストアンサー

linuxで不一致検索

お世話になります。 お恥ずかしい質問かもしれませんが、 fedora or redhatで、 ファイル名、所有者名で検索したいのですが、 不一致検索をするにはどういうオプションを 付ければよいでしょうか。 カレントディレクトリでhogeを検索する場合、 find . -filename -name hoge -print となりますが、 hoge「以外」、「hoge」を含まない ファイルを検索したいと考えています。 どうかよろしくお願いいたします。

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

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

findなら-notで条件の否定です find . -filename -not -name '*hoge*' -print

goomod2
質問者

お礼

お返事が遅くなり申し訳ありません・・・ 回答ありがとうございました。

その他の回答 (1)

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

find . -filename -name * -print | egrep -v hoge

goomod2
質問者

お礼

お返事がおそくなり申し訳ありません・・・ 回答ありがとうございました

関連するQ&A

  • unixのfindコマンド

    unixのfindコマンドで、ある複数のディレクトリから指定のファイル名だけを 検索し、その結果をgrepしたいのですが、 例えば 01_dir 02_dir : 11_di : 21_dir : と言うディレクトリがあります。 そこから、「0」で始まっているディレクトリの中なら拡張子が*.txtを 検索し、その検索したファイルに対して、grepを実行したいのですが、 上手くいきません。 もちろん、各ディレクトリには、「.txt」以外のファイルもありますし、 ファイル名にも条件を付与したいです。 以下の様に、 find . -name "0*_dir" -type d -print | xargs ls -l *.txt | grep "検索文字" find . -name "0*_dir" -type d -print | xargs ls *.txt | grep "検索文字" find . -name "0*_dir" -type d -print | xargs -i ls -l '{} /*.txt' | grep "検索文字" find . -name "0*_dir" -type d -print | xargs -i ls {} "検索文字" とやってみたのですがだめでした。 find ./ -type d \( -name '1_*dir' -o -name '2*_dir' -o -name '3*_dir' \) -prune -o -type f -print と「-prune」で除外するディレクトリを指定すればできなくはないですが、 すべてのディレクトリ書くのはいい方法ではないです。 よい方法をお願いします。 OSは、Solaris 11.3です。

  • XML::Xpathで部分一致検索をするには

    $xpath->find('/foo/bar/text()="hoge"'); のようにパスと内容から検索は出来るのですが、 完全一致しか取得することができません。 部分一致、もしくは正規表現を用いることは出来るのでしょうか?

  • windows7のコマンドでファイルを検索したい

    windows7のコマンドでファイルを検索したいのですが、 調べてみると下記のようなコマンドで調べれるとの事でした。 dir /s /b *** しかしこれではカレントディレクトリからしか調べる事ができず不十分です。 全てのドライブからこのファイルを検索したいというコマンドを探しております。 unixでいえば find / -name *** のようなものです。 windows7のコマンドプロンプトではこのような事はできないのでしょうか。

  • cat `find ./` > for_print.txt にファイル名を入れたい!

    カレントディレクトリ以下のファイルを連結したいのですが、 cat `find ./` > for_print.txt に「ファイル名」と、 あと、「区切り」がわかるように ******************************** を入れたいのですが、 どうしたら良いでしょうか?

  • ファイルを検索するコマンド findの使い方

    ファイル名にある文字列を含むファイルの検索の仕方がわかりません.具体的にはsolという文字列を含むファイルの検索です.確かfind -name なんとかだったような気がするのですがよくわかりません.ディレクトリはいろいろで拡張子は不明です.よろしくお願いします.

  • Linuxでの検索はfindですか。

    教えてください。Linux初心者です。 どのディレクトリにあるのかわからない、名前も一部しかわからない、ファイルを検索するときのコマンドはなんでしょう。 manを調べるとfindかと思うんですが、すべてのディレクトリについて調べるとか、名前のワイルドカードの指定の仕方がわからないんです。 よろしくお願いします。

  • カレントディレクトリ内のファイル検索

    Windows2003環境で、カレントディレクトリ下に存在するwmvファイル数をカウントしたい。UNIXでいう[find ./ -name *.wmv |wc -l] 何かよい方法はありませんでしょうか?

  • シェル find 複数条件で

    hoge という名前のディレクトリ もしくは koge という名前のファイルを見つける find 文を教えて下さい。 hoge というディレクトリというだけの条件ならわかるのですが、 find ./ -type d -and -name hoge if文でいうところの条件をカッコで囲いたくなるような場合の書き方がわかりません。

  • 一括でファイル名の一部を置換したい

    LinuxのFedora Core 10, シェルにtcshを使用しています。よろしくお願いします。 ======================================================================= 複数のディレクトリ内に、"(from home)"のような文字列を含むファイルがあり、 それらのファイル名から一括で"(from home)"という文字列を取り除きたいのですが ======================================================================= 例えば以下のように、2つのディレクトリ(Directory1,Directory2)の下に、 "(from home)"という文字列を含むファイルが2つずつある場合を考えて、 /Directory1/sample (from home).txt         sample2 (from home).txt /Directory2/ sample3 (from home).txt          sample4 (from home).txt > rename "(from home)" "" `find / -name "(from home)" -print` を試したのですが上手くいかず、 > foreach i (`find / -name "(from home)" print`) foreach? rename "(from home)" "" $i foreach? end でも上手くいきませんでした。 もしかしたらfindコマンドで見つけたファイル名をrenameコマンドに 上手く渡せていないのかと思うのですが、どのようにすれば良いのでしょうか? また別の方法でも、一括でファイル名の一部を変更する方法があれば、 ご教授お願い致します。

  • 古いファイルやディレクトリを消したい(Linux)

    Linux で不要な古いファイルやディレクトリを消したいのですが、 どのようにすればいいのかわかりません。 具体的にはあるディレクトリの中にある 新旧混在となったファイルやディレクトリの中から 1ヶ月以上前に作ったファイルやディレクトリを消すといったことが したいのです。 もちろんディレクトリの中に新しいファイルがいたら、 親ディレクトリは残すことを考えています。 find で -ctime +7 というオプションをつけて検索すれば 候補が得られるというところはわかったのですが、 ディレクトリもいるので簡単に rm では消せません。 rm -r なんてしたら新しいファイルも消しちゃうので・・・ どうか、お知恵をお貸しください。