8

私はこれに行き詰まっています。たとえば、正確に 8 つのスペースと二重引用符で始まるすべての行に一致させたいと考えています。

cat file.txt | grep '[[:space:]]\{8\}"'

私はそこで何が間違っていますか?8 つ以上のスペースで始まる行も一致します。

4

2 に答える 2

15

cat file.txt | grep '^[[:space:]]\{8\}"'

を入れない場合は^、 に近い 8 個のスペースに一致します"

于 2013-01-12T04:30:18.963 に答える
5

パターンが固定されるように、文字が行の先頭と一致するようにするだけでパイプcatする必要はありません。grepegrep '^ {8}"' file^

$ cat file
        "match"
        no match
   "no match"

$ egrep '^ {8}"' file
        "match"

{n}拡張正規表現セットの一部である場合は、繰り返し数量詞を使用するか、またはオプションをegrep使用してエスケープを回避します。 -Egrep

于 2013-01-12T15:37:40.313 に答える