- ベストアンサー
UNIXコマンドのパターンマッチング(grep)について
*または?(ワイルドカード)のマッチングはできないでしょうか? 例)12345*AB*678 先頭、後部でのマッチングは↓で可能でしたがここで行き詰ってしまいました。 ^grep "12345*" file名 | grep -e "*678" UNIXコマンドを使ってのよい方法があったらご教授ください。 どうぞ宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- saaya_holic
- ベストアンサー率23% (46/195)
- Tacosan
- ベストアンサー率23% (3656/15482)
関連するQ&A
- unixのコマンドで+を付けたい
unixのたとえば、 grep "#E200#" file1|cut -d# -f1 とかで 43 78 23 17 とかの数字を出してきて、これを 43+78+23+17 になるように+をつけるには どんなコマンドがよろしいでしょうか? trを使ってなんかできませんでしょうか? これができたら、TOTAL=43+78+23+17でコマンド代入 にして bc scale=2 $TOTAL 161 quit したいのですが。 よろしくお教えください。(unix 超初心者です)
- ベストアンサー
- その他(プログラミング・開発)
- UNIXコマンド "grep" "find" の使い方教えて下さい。
1)以下(1)、(2)を検索したいとします。 (1)"wrk_str"という文字列の記述があるファイル名 (2)tmp_file.c という名前のファイル名 2)ディレクトリ構成が以下になってるとします。 /home/users/複数のディレクトリが存在/複数のディレクトリが存在/複数のファイルが存在 3)/home/users/ 配下に検索したい文字列、ファイルがあるとした場合、どのように 探せばいいでしょうか? /home/users/配下で得に条件なしでgrepすると、"Arg list too long"(量が多い?)の メッセージが出て、検索できませんでした。 UNIXコマンドに詳しい方、宜しくお願いします。 それ以外にも、色々検索方法知っていたら教えて下さい!!
- ベストアンサー
- Linux系OS
- linux(UNIX) の grep で、あるディレクトリ以下を再帰的に見て、全ての *.html ファイルに grep をかける方法
linux(UNIX) の grep で、あるディレクトリ以下を再帰的に見て、全ての *.html ファイルに grep をかける方法を教えてください。 簡単な事なのかもしれませんが、コマンドから打つ場合、どのようにすればよいか、分かりません。 Windows の秀丸のgrepなら簡単に出来るのですが。。。 どなたか教えてくださいませ。。。
- ベストアンサー
- Linux系OS
- SJISファイルを日本語でgrep
UNIX環境で、 SJISファイルを日本語でgrepしたのですが、 ファイル名が出力されずにうまくいきません。 どなたかご教授願えないでしょうか。 [自分のコマンド] find ./ -type f -print | xargs nkf -e | grep 'テスト' とし、日本語は検地できたのですが、 ファイル名が出力されずに困っております。 grep -l としたら、↓のエラーが表示されました。 xargs: nkf: シグナル 13 によって終了しました サブディレクトリも含めて検地したいのですが、 なにかいい方法ありますでしょうか。
- 締切済み
- その他(プログラミング・開発)
- grepについて
Freebsdにおいてgrepというコマンドがあると思いますが、このgrepで特定の階層にある特定のファイルを探すことはできるのでしょうか? あるファイルの中に存在する、特定の文字などを検索するやり方は分かるのですがファイル名を検索しようとしても、やり方が分からずできません。 それとも、もともとgrepコマンドは、あるファイル内に存在する文字を検索するためのコマンドなのでしょうか?? その辺りも、よく分かりません。 他に、grepはこういう時に便利!!みたいな例があれば教えてくださいませ。 ご回答の程、よろしくお願い致します。
- ベストアンサー
- ハードウェア・サーバー
- linuxのgrepコマンドに関して
linuxのgrepコマンドに関して ファイルの中から、1や2という文字が単独で存在する行を検索したくて grep 1 file名 とするのですが、そうすると11や23など文字が単独ではなく、含まれている行が出力されます。 含まれる、ではなく文字そのものを検索するにはどうしたらよいでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- grepコマンドでの文字列検索
grepコマンドについて質問です。 grepコマンドでCSVファイルを参照し、ある項目に特定の文字列でないものがあれば、そのファイル名を取得する処理をしたいと思っています。 つまり、ある項目を$strとすると $str <> 'aaaaaa' という処理をgrepで行おうと考えています。 現状では、 grep -l '^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^(aaaaaa)]' ファイル名 等を試していますが、[^(aaaaaa)]だと一文字目しか判別できていないようです。[^a{6}]などもうまくいきません。 何かいい方法があれば教えて頂きたいと思います。 宜しくお願いします。
- ベストアンサー
- その他(OS)
- grep,sedコマンドについて
昨日に引き続き、またまた質問です。 昨日回答してくださった方、ありがとうございました。 その後自分でも色々勉強しまして、ファイルの中身を処理するにはgrepコマンドとsedコマンドが 有効である事が分かりました。 今回やりたいことは以下のファイルの数字と時間の部分(//のついている2行)の削除です //1 //00:00:03,600 --> 00:00:07,195 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx //2 //00:00:07,360 --> 00:00:09,635 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx ・ ・ (実際のファイルには"//"はついていません) 理想の出力 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx (xxxxxの部分には英語の台詞が入ります) で、以下が自分が考えた方法です 1.sedコマンドのみで削除 $ sed "/[0-9]*\n[0-9][0-9].*/d" ファイル名 結果 ファイルの内容がすべて表示されるだけ (a) 2.grepコマンドで抽出しパイプ処理 まずgrepで削除部分を抽出 $ grep -P "^[0-9]*\n[0-9][0-9].*" ファイル名 結果 1 00:00:03,600 --> 00:00:07,195 2 00:00:07,360 --> 00:00:09,635 ・ ・ 10 11 ・ ・ となり、1~9までの数字と時間はちゃんと表示され 10以降は数字しか出ません。 (b) また -P の部分を -E にすると、何も表示されません (c) (perlの正規表現と拡張正規表現の違いはここでは無いように思えますが・・・) 2は最初でつまづいたのでどのコマンドに渡して行を削除するかはまだ分かりません (d) 削除の際、2行まとめて行うのは、一行ずつ行うと、台詞の部分に数字のみが入っていた場合 削除されるのを防ぐためです 以上長くなりましたが(a)~(d)の質問、疑問に回答していただけると嬉しいです。 よろしくお願いします。
- ベストアンサー
- Linux系OS
- UNIXで複数のログファイルからエラー文字を探す
初歩的な質問で申し訳ないのですが、UNIXで複数のログファイルから エラー文字を探して、確認したい次第です。 探したい文字列:E0001 ログファイル:20110823.log 20110824.log 20110825.log等日付名のログファイルがたくさんあります。 grepコマンドを使うといいと思うのですが、ご教授いただけますでしょうか。
- ベストアンサー
- その他(ITシステム運用・管理)
お礼
早急のご返事ありがとうございます。 思っていた通りに出来ました! ずっと悩んでいたのでとても助かりました。