file
以下があるとしましょう。
123
251
7.8
951
今私が試したgrep
行が欲しいです.
。
$ cat file | grep .
123
251
7.8
951
$ cat file | grep '.'
123
251
7.8
951
しかし、期待どおりに動作しません。それでは、それgrep
に基づいて文字列化をどのように実行しますか.
?
追加情報:
$ grep --version | line
grep (GNU grep) 2.16
答え1
あなたが得る結果は次のとおりです。.
単一文字と一致
~からマンページ>正規表現:
デフォルトのビルディングブロックは、単一文字に一致する正規表現です。すべての文字と数字を含むほとんどの文字は、自分と一致する正規表現です。 特別な意味を持つメタ文字は、前にバックスラッシュを付けて引用できます。
期間。単一文字と一致します。
それから
.
逃げるべきです。\
$ cat file | grep '\.' 7.8
この値は
\.
引用符で囲む必要があります'
。別の方法は
-F, --fixed-strings
オプションはgrep
またはで使用されますfgrep
。-F, --fixed-strings Interpret PATTERN as a list of fixed strings, separated by newlines, any of which is to be matched.
例:
$ cat file | grep -F . 7.8
$ cat file | fgrep . 7.8
[
別の回避策は、角かっこ式を使用して一致させる文字列を中に囲むことです]
。$ cat file | grep '[.]' 7.8