• ベストアンサー

指定した文字を含んだファイルを検索するコマンドはありますか

リナックスで、指定した文字を含んだファイルを探してくれるコマンドはありますか。 メールサーバーを立てたのですが、どうも以前のドメインの設定がどこかに残っているらしく送信エラーになってしまいます。 以前のドメイン名で全ファイルを検索してみたいのです。

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

  • ベストアンサー
  • mdebugon
  • ベストアンサー率75% (6/8)
回答No.2

「grep "bh" *」だと現在のディレクトリ(Windowsでいうフォルダ)の直下しか探索しません。 もし更に下のディレクトリまで再帰的に探索するためには、たとえば 「find . -exec grep "bh" {} /dev/null \;」なんてコマンドを実行します。 大量のファイルを検索するので時間もかかるし、"bh"のように短い文字だとヒットする ことも多いでしょうから出力が大量になるかも知れません。コマンドの出力結果を 「find . -exec grep "bh" {} /dev/null \; > /tmp/output」などファイルに吐き出し あとでじっくり調べたほうがいいかもしれません。 ただこの方法だとバイナリデータも検索して出力するのが困りものですが。 さて本来の目的はメール送信エラーですよね? どういう操作で、どういうエラーがでるのかを質問したほうが解決への近道だと 思うのですがいかがでしょうか? たとえば「メールソフトで送信したら以下のエラーメールが返ってきた。」とか 「sendmailを使用しているが、送信をしようとすると以下のエラーが/var/log/maillogに 採取される」などの情報で対策を募ってみるとか。

zyousuke
質問者

お礼

mdebugonさん、ご返信ありがとうございます。 なるほど、私の使ったコマンドではサブディレクトリーまでは検索してくれないのですね。 どうりで、しつこくbhの文字列が現れ続けていたのですね。 さて、その後の調査でもなかなか原因が分からなかったため困ったときの再セットアップということで、 私の悪いクセなのですがレッドハットを再セットアップしてしまいました。(サーバーを公開できるのはいつになることやら・・・) さて、ご指摘のとおり本来の目的はメール送信エラーの解明です。 昨日、今日と自分なりに調査してみたのですが、 どうもsendmailの設定に問題があるのではなく、 自宅ランのネットワーク構成に問題があるような気がしてきました。 そこで、私のネットワーク構成について新スレを立てさせていただきます。 もうしばらくしたら新スレが出来ると思いますので、もしよろしければ確認いただけますか。

その他の回答 (1)

  • few24
  • ベストアンサー率22% (104/472)
回答No.1

grep

zyousuke
質問者

お礼

few24さん、ご回答ありがとうございます。 grepコマンドを使って全ファイル検索しました。 bhの文字が含まれる全てのファイルを検索するには #grep "bh" * でよろしいでしょうか。 bhは以前のドメイン名のためmboxの中にたくさん見つかりました。 紛らわしいためmboxを削除してから再度検索すると anaconda-ks.cfgというファイルが唯一ヒットしました。 このアナコンダというファイルはどうもレッドハットのインストーラーの名前だそうですね。 インストール時にbhというドメイン名を設定したために名残として残っていたのでしょうか。 念のため、現在のドメイン名に書き換えました。 再度grepコマンドでbhが含まれるファイルを検索したところ何も見つかりませんでした。 しかし、その後もメールを送るとmboxにはbhという以前のドメイン名が見受けられます。 何かのバイナリーファイルの中に以前のドメインの設定が残っているのでしょうか。 そういえばドメイン名を変更したのは最近ですので、sendmailを再インストールすれば直るかもしれませんね。 sendmailを再インストールしてみます。 今日はもう寝ますが。。。

関連するQ&A