ベリラボ

OSS(オープンソースソフトウェア) を主体とした技術検証と小ネタなど

その他

Linux(UNIX)であるディレクトリ配下の全ファイルから検索

投稿日:

あるディレクトリにファイルが複数あって検索するとき、grepコマンドで検索できますが、サブディレクトリがあって階層も不明な場合、どうしたらよいでしょうか?

こんなとき、Linuxであれば、以下のようにできます。

$ find あるディレクトリ -type f -exec grep -H  検索文字列 {} \;
たとえば、「/etc」 配下の全ファイルから、「192.168.0.100」 を検索したい場合、

$ find /etc -type f -exec grep -H 192.168.0.100 {} \;

↑こうなります。

ここでのキモは、grepの 「-H」オプションを使うことです。このオプションをつけないと検索した行の表示はされますが、ファイル名が表示されないのでどこのファイルかわからないのです。

さて、Linux系の大多数のOSでは、 grepの 「-H」オプションがつかえますが、AIX等のUNIXでは使えないことが多いです。そのときにどうするかというと、

$ touch ダミーファイル

$ find あるディレクトリ  -type f -exec grep 検索文字 ダミーファイル {} \;

↑このように、ダミーファイルも一緒にgrepに渡してやることにより複数ファイル検索となり、ファイル名も表示されます。

-その他

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

Googleマップ の ストリートビュー

 Googleマップ の ストリートビュー機能が関東圏でも使えるようになってます。 Googleマップ http://maps.google.co.jp/ すごいです!! 何がすごいかって、技術的にも …

no image

10進数から16進数の相互変換

10進数から16進数へ変換するときどうやりますか? MicrosoftWindowsな人は、 電卓アプリケーションを使うってことが多いかもしれませんね。 電卓アプリを使おうとすると… スタ …

no image

Firefox 3 ダウンロード でギネス世界記録挑戦

 本日(2008/6/17) 、Firefox 3 ダウンロード でギネス世界記録挑戦だそうです。 http://www.spreadfirefox.com/ja/worldrecord/ ↑ここから …

no image

OSS(オープンソースソフトウェア)を中心とした情報を公開していきます。

これまで企業システムを中心にシステム構築、保守、運用に携わってきました。 このノウハウ生かしてOSS(オープンソースソフトウェア)を中心とした技術検証や小ネタをどんどん公開していきたいと思います。 ご …

no image

ベリサイン + apahce + OpenSSL + mod_ssl ではまり

ベリサイン + apahce + OpenSSL + mod_ssl ではまりました。 秘密鍵作成、CSR作成を行ってベリサインに申請。 戻ってきたServerIDを保存して以下のようにssl.con …