• ベストアンサー

シェルで特定の日本語を検索してそのファイル名とパスを表示したい

シェルで特定の日本語を検索してそのファイル名とパスを表示したいのですが、できませんでした。 半月間考えて一応、次のシェルで行番号とその行を表示することはできたのですが、どのファイルかが分からないのであまり役に立ってません。 # find /var/www/html -name "*.html" -exec nkf -w -Lu {} \; | grep -n "日本語" UNIX系を使っている方なら普段多用しているはずと、検索で調べれば見つけられると思ったのですがだめでした。 よろしくお願いします。

noname#58390
noname#58390

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

  • ベストアンサー
noname#39970
noname#39970
回答No.1

for f in `find /var/www/html -name "*.html"`;do echo $f;nkf -w -Lu $f | grep -n "日本語";done とか。

noname#58390
質問者

お礼

バッチリうまくいきました。どうもありがとうございました。

関連するQ&A

  • SJISファイルを日本語でgrep

    UNIX環境で、 SJISファイルを日本語でgrepしたのですが、 ファイル名が出力されずにうまくいきません。 どなたかご教授願えないでしょうか。 [自分のコマンド] find ./ -type f -print | xargs nkf -e | grep 'テスト' とし、日本語は検地できたのですが、 ファイル名が出力されずに困っております。 grep -l としたら、↓のエラーが表示されました。 xargs: nkf: シグナル 13 によって終了しました サブディレクトリも含めて検地したいのですが、 なにかいい方法ありますでしょうか。

  • MsDosでファイル名とファイル内の文字列の検索

    リナックスコマンドでいうところの find -name xxxx -exec grep $test {} \;の処理を コマンドプロンプトにて、利用したいと考えています。 dir xxxx /s /b | find "$test" こういった記述で出来るのではないかと考えたのですが。 findが"ファイル名"を検索するためファイルの中身を検索してくれません。 何かいい方法は御座いませんか? また、dirで取得したパスを配列に入れて、foreachでファイルの中身を検索し続けるということは可能でしょうか? よろしくお願いいたします。

  • ファイルの中の文字を検索してパスとファイル名と行を調べたいのですが

    現ディレクトリからどこかにある(カレントディレクトリもしくは下の階層)ファイルの中の文字を探して、パスとファイル名と行番号を表示させるにはどうすればいいのでしょうか (例)例 現Cドライブ→下のフォルダ→下のフォルダ→下のフォルダ→xxx.txtの中に含まれる文字 abc(10行目)を探したい 結果 c/フォルダ/フォルダ/フォルダ/xxx.txt 10行目 findとgrepでなんとかできそうな気がするのですが どなたかわかる方教えてください

  • 複数ファイルから特定文字列検索

    エラー出力をさがすのに以下のコマンドが役にたつのですが、 直近の出力のみ探し出せればよいので、それぞれ該当した場合は 5行のみ表示としたいのです。 find /www/logs/* /var/log/messages* |xargs egrep "memory|proc|Resource " やはり地道に1行ずつheadをつけるしか方法はないのでしょうか find /www/logs/*|xargs grep memo|head -5 find /www/logs/*|xargs grep proc|head -5 find /www/logs/*|xargs grep Resource |head -5

  • シェルスクリプトの「{} \;」部分の意味は?グーグル等でも検索できない状態です。

    以下のようなシェルスクリプトを見かけますが、「{} \;」部分の意味が分かりません。記号なので、グーグル等でも検索できない状態です。 #二日前のファイルを削除 find /backup -mtime +1 -maxdepth 1 -name '*.zip' -exec rm -f {} \; 上記のようなシェルスクリプトの「{} \;」部分は、どのような意味があるのでしょうか?特にプログラムと違いシェルスクリプトは;(コロン)で終わる必要がないのに、終わっているのが不思議です。 よろしくお願いします。

  • grepによる文字列検索のシェル作成の手順

    Solaris9のOSにて、以下の仕様のシェルを作成したいと思っています。 特定のディレクトリ配下にある全てのファイル内で特定の文字列「abc」のある行を抽出し、ファイル化したい。 (検索対象が1ファイルであれば、grep -n abc test.txtでよいですが、ファイル名がたくさんある場合のシェルの作り方がわかりません。) また、どのファイルから検索したのかがわかるように抽出した行の前にファイル名をつけられると大変助かります。 例) ---test1.txtから検索--- 8:XXXXabcXXXX 11:XXXXabcXXX ---test2.txtから検索--- 10:XXXXXXXXabcXX お手数ですが、宜しくお願いします。

  • 日本語のファイル名を検索

    お世話になります。 このたび旧サーバから新サーバにファイル構成を移動したのですが、 どうやら、旧サーバの日本語名のファイルが新サーバに移したときに 文字化けしてしまっているようです。 文字化けの修正を目指して、旧サーバ内の日本語のファイル名をすべて 検索したいのですが、どのようにすればよいでしょうか? ご教授お願いいたします。

  • ターミナル日本語表示について

    macosx 10.2.6 でteeminal(シェルはtcsh)を使用してます。 エンコードをUTF-8に設定すると、 ls -v で日本語ファイル名が表示されますが、 cat file名 では日本語記述のテキストは文字化けします。 今度はshift-JISに設定し、 ls -v では日本語ファイル名は文字化けし、 cat file名 では日本語記述のテキストは日本語表示されます。 なんだかしっくりこないのですが、一括して日本語表示させることはできますか。 よろしくお願いします。

    • 締切済み
    • Mac
  • ある単語を含む行と、1つ前の行とを削除するシェル

    UNIX初心者です。 シェル(Korn)で、あるファイル中に、単語 "iwa"を含んだら、その行と、1つ前の行とを削除したいシェルを作りたいのです。  つまり、grep, sed, awk などで、"iwa"を含む行がみつかったら、その行(iwaを含む行)と、なおかつ、1行前の合わせて、2行を削除するシェルを作りたいのですが、行番号(NR?)などを使うのでしょうか? よろしく、お願いします。

  • 日本語のファイル名の画像が表示できません

    お世話になります、 perlによる、画像のアップローダーを作ったのですが、サーバー側に、画像データ そのものと、画像のファイル名を記録したデータをファイルを置いて そのデータファイルから画像名を指定して表示させるとうものなのですが 保存してあるファイルには正しく日本語で画像ファイル名が記録されているのですが 表示させるとファイル名が日本語の画像のものは、表示できません、日本語ファイル名 の画像ファイルを表示させる方法は無いのでしょうか?

    • ベストアンサー
    • Perl