• ベストアンサー

grepコマンドのAオプションが使えない

たすけてください! grep -A 10 検索条件 検索ファイル とコマンドを打つと grep:認識できないフラグ:A と出てきます。 どうしたら使えますか?

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4852/10266)
回答No.3

> AIXの6.1.0.0でした(^^; なるほど。 awk なら多分いけると思います。 grep -A 10 検索条件 検索ファイル ↓ awk "/検索条件/{N=11}N-->0" 検索ファイル

sugaru1
質問者

お礼

awkでいけました! 無事に検索結果をファイル出力することができました! 本当に助かりました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4852/10266)
回答No.2

-A が無い古いgrepが今時あるとは思えません。 カテゴリがLinuxですが、どのOSですか? 「grep:認識できないフラグ:A」というエラーメッセージも不審です。 /bin/grep -A 10 検索条件 検索ファイル /usr/bin/grep -A 10 検索条件 検索ファイル でどうなりますか?

sugaru1
質問者

お礼

遅くなってすみません。 AIXの6.1.0.0でした(^^; 提示してもらったコマンドでも同じようなエラーになってしまいました。

全文を見る
すると、全ての回答が全文表示されます。
  • chie65535
  • ベストアンサー率43% (8536/19406)
回答No.1

>どうしたら使えますか? grepコマンドの最新版をインストールする。 初期のgrepでは-Aスイッチはサポートされていない。 で、標準で入っているgrepは、初期の物である可能性が高い。

sugaru1
質問者

お礼

お礼コメントがうまく反映されていないようなので?もう一度。 なるほど。やはりそういうことだったんですね。。。 その他、標準でも代用できるようなオプション、または別コマンドなどはありますでしょうか? もしご存知でしたらご教授いただけると大変助かります。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • linuxのgrepコマンドに関して

    linuxのgrepコマンドに関して ファイルの中から、1や2という文字が単独で存在する行を検索したくて grep 1 file名 とするのですが、そうすると11や23など文字が単独ではなく、含まれている行が出力されます。 含まれる、ではなく文字そのものを検索するにはどうしたらよいでしょうか?

  • grepについて

    Freebsdにおいてgrepというコマンドがあると思いますが、このgrepで特定の階層にある特定のファイルを探すことはできるのでしょうか? あるファイルの中に存在する、特定の文字などを検索するやり方は分かるのですがファイル名を検索しようとしても、やり方が分からずできません。 それとも、もともとgrepコマンドは、あるファイル内に存在する文字を検索するためのコマンドなのでしょうか?? その辺りも、よく分かりません。 他に、grepはこういう時に便利!!みたいな例があれば教えてくださいませ。 ご回答の程、よろしくお願い致します。

  • grepコマンドでの文字列検索

    grepコマンドについて質問です。 grepコマンドでCSVファイルを参照し、ある項目に特定の文字列でないものがあれば、そのファイル名を取得する処理をしたいと思っています。 つまり、ある項目を$strとすると $str <> 'aaaaaa' という処理をgrepで行おうと考えています。 現状では、 grep -l '^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^(aaaaaa)]' ファイル名 等を試していますが、[^(aaaaaa)]だと一文字目しか判別できていないようです。[^a{6}]などもうまくいきません。 何かいい方法があれば教えて頂きたいと思います。 宜しくお願いします。

  • 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)の質問、疑問に回答していただけると嬉しいです。 よろしくお願いします。

  • Windows2000のコマンドプロンプトで使えるgrep

    Windows2000のコマンドプロンプトで使えるgrepを探しています。どなたかご存知ありませんか? よろしくお願いします。 (batファイル内にgrepを記述して連続処理させたいのですが。。)

  • grepで40~70の数字をリストアップするコマンドを教えてください。

    grepで40~70の数字をリストアップするコマンドを教えてください。 1 2 3 4 5 ・ ・ ・ のように1~100まで改行して数字が書かれているテキストファイルがあります。 40 41 42 ・ ・ ・ 70 という様にgrepコマンドなどで40~70までを数字をリストアップするコマンドはないでしょうか?

  • 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コマンドに詳しい方、宜しくお願いします。 それ以外にも、色々検索方法知っていたら教えて下さい!!

  • grep コマンドでディレクトリ検索

    grep コマンドでディレクトリ検索 tmp/bbb tmp/bbb.cc というディレクトリがある時 ls | grep -w "bbb" でtmp/bbbだけ取りたいけど bbb.ccまで取ってしまうんで困ってます。 どうやったらtmp/bbbだけ取れますか? まったく一致のbbbを検索したいです。

  • リナックスの grepコマンド ¥数字 

    リナックスを勉強しているのですが、grepのコマンド \数字  の意味と使い方がよくわかりません。 ネットで検索してみたのですが、あまり詳しい例もなく、いまいち理解できません。 わかりやすい例をつかって説明していただけないでしょうか。 よろしくお願いします。

  • grepコマンド

    質問させてください。 ファイルから指定した文字列を含まない行を別ファイルに 書き込もうとしています。 gunzip -c tmp.gz | grep -i -v '.txt' > work.txt 上記の場合、tmp.gzを解凍したファイルの行に大文字・小文字関係のない ".txt(Txt, tXt, TxT, ・・・"の文字列を含まない行を  work.txtに書き込んでいます。 これはうまくいったのですが、判定文字列を複数にすると 『ファイルを見つけようとしてエラーがでました』となります。 ちなみにコマンドは gunzip -c tmp.gz | grep -i -v '.txt' -i -v '.log' -i -v '.pdf'> work.txt 複数の大文字小文字を区別しない指定された文字列を含まない行を 別ファイルに書き込むにはどのようにすればいいのでしょうか? すみません、あまり経験がないのでお許しください。 よろしくお願いいたします。