プロが教えるわが家の防犯対策術!

たくさんのファイルの中から、特定の文字を含まないファイルを検索したいのですが、良い方法はないでしょうか?

#正規表現を使ったgrepなんかでもできるものですか?

A 回答 (4件)

特定の文字をファイル名に含まないということなのかファイルの内容に含まないということなのか、


OSやシェルは何かということで話は変わってくると思いますけど、とりあえず、
例えばUNIXのcshでファイル名に 'x' を含まないファイルを見つけるということなら
 find . \! -name '*x*' -print
で見つけられます。(詳細はman findで調べて下さい。)

この回答への補足

すみません、土下座 m(_ _)m。
ファイル名でなく、ファイルの内容に特定の文字を含まないファイルの検索方法でした。
説明のしかたがあいまいで申し訳ありません。

補足日時:2001/08/16 15:29
    • good
    • 0

grepがおのぞみであれば、



grep -c 条件 ファイル名

で、検索をするとファイル中の条件に一致した
行数(Countのcですね)を返しますので、

・特定の文字を含む条件で検索
・結果が0のものが、含んでいないファイル

では駄目ですか?

-------------------------------------
(たとえばこんな感じ)
# grep -c abc *txt
test1.txt:0
test2.txt:1
    • good
    • 0

処理系にもよると思いますが、grepは検索した結果、見つかったかどうかで異なる戻り値を返しますから、これを調べたらよいと思います。


シェルスクリプトなら、
for file in *
do
grep -q "HOGE" $file
if [ $? -eq 1 ]
then
echo $file
fi
done
    • good
    • 0

GNU の grep を導入すれば、-L というオプションが使えます。



参考URL:http://www.linux.or.jp/JM/html/GNU_grep/man1/gre …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!