OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

grepの出力について

  • すぐに回答を!
  • 質問No.208082
  • 閲覧数49
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 33% (2/6)

パターンマッチについてなんですが、このコマンドはマッチした行を出力するコマンドなんですが。実際にはパターンマッチをした文字列だけを表示したいという場合にはどのようにしたらよいのでしょうか?スクリプトを書くしかないのでしょうか?できればその例を教えてください。お願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル10

ベストアンサー率 40% (85/208)

grep では出来ないですね。 perl を使いましょう。マッチした文字列を抽出することが出来ます。
grep では出来ないですね。
perl を使いましょう。マッチした文字列を抽出することが出来ます。


  • 回答No.2
レベル12

ベストアンサー率 40% (237/589)

例を、ということなので。 Perl で、パターンマッチに ( ) を使い、$1 でそれを出力するようにすれば、マッチした文字列だけを表示させることはできます。 例えば、以下のようなスクリプトはどうでしょうか。 ―――――――――― #!/usr/local/bin/perl # Usage: grep2 pattern filename $pattern = $ARGV[0]; $fil ...続きを読む
例を、ということなので。

Perl で、パターンマッチに ( ) を使い、$1 でそれを出力するようにすれば、マッチした文字列だけを表示させることはできます。
例えば、以下のようなスクリプトはどうでしょうか。
――――――――――
#!/usr/local/bin/perl
# Usage: grep2 pattern filename
$pattern = $ARGV[0];
$filename = $ARGV[1];
open(IN, $filename) or die("$filename: $!\n");
while (<IN>) {
  next unless /($pattern)/;
  print "$1\n";
}
close(IN);
exit(0);
――――――――――
これで、grep2 pattern filename とやれば、pattern にマッチする文字列だけがダーッと出てきます。
パターンには、正規表現も使えます。(シェルで解釈されないよう、' ' で囲む必要があります。)

でも、こんなことして、何か意味があるのでしょうか…?
行数でも一緒に表示させるようにすれば、使い道が出てくるのかな?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ