grep:意外标记“(”附近的语法错误

fer*_*giu 1 shell grep quoting

我有这个问题:我在 file 中寻找一个字符串。语法是:

grep -E '( ^ | [[:space:]] )[AZ]{2}[[:digit:]]{2}((- | [[:space:]] )[[:alnum:]] {4}) {3} '(文件名) 

当我在 ubuntu 中运行此命令时,出现此错误:

意外标记“(”附近的语法错误

为什么?

apa*_*aul 6

听起来您没有使用正确的简单引号 ( ')。尝试复制并粘贴这个:

grep -E '( ^ | [[:space:]] )[A-Z]{2}[[:digit:]]{2}((- | [[:space:]] )[[:alnum:]]{4}) {3} '
Run Code Online (Sandbox Code Playgroud)

(如果我复制和粘贴你的脚本,我在 bash 中遇到同样的错误,它使用而不是'