Re: メタキャラについて

この質問の投稿一覧へ

なし Re: メタキャラについて

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-5-9 22:57 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
シングルクウォーテで囲めばメタキャラは文字列として扱われるので
問題ないと思うのですが何が間違いなのでしょうか?
実際にやってみました
$ cat test.txt
.*
....
!!!!
test
text
$ egrep '.*' test.txt
.*
....
!!!!
test
text
$ egrep -F '.*' test.txt
.*
シングルクォーテーションで囲んでるのは.*という文字列なので、シェルには.*という文字列として渡されます。
そしてシェルがegrepコマンドに.*という文字列を渡してコマンドが実行されるのですが、その時点でegrepは「検索パターン(=拡張正規表現)として.*が渡された」と認識するので、-Fオプションを付けないと、「任意の文字列(任意の1文字の0回以上の繰り返し)」を検索することになります。
よって、上記の通りすべての行が選択されてしまうため、誤りになるんですね。

以前似たような質問があったので、こちらも見てみてください。
http://ping-t.com/modules/forum/index.php?topic_id=2618

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.