Re: メタキャラについて
arashi1977
居住地: 広島
投稿数: 1715
引用:実際にやってみました
シングルクォーテーションで囲んでるのは.*という文字列なので、シェルには.*という文字列として渡されます。
そしてシェルがegrepコマンドに.*という文字列を渡してコマンドが実行されるのですが、その時点でegrepは「検索パターン(=拡張正規表現)として.*が渡された」と認識するので、-Fオプションを付けないと、「任意の文字列(任意の1文字の0回以上の繰り返し)」を検索することになります。
よって、上記の通りすべての行が選択されてしまうため、誤りになるんですね。
以前似たような質問があったので、こちらも見てみてください。
http://ping-t.com/modules/forum/index.php?topic_id=2618
シングルクウォーテで囲めばメタキャラは文字列として扱われるので
問題ないと思うのですが何が間違いなのでしょうか?
$ 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
投稿ツリー
-
メタキャラについて
(takaotu5, 2017-5-9 18:16)
- Re: メタキャラについて (arashi1977, 2017-5-9 22:57)