user9371654 Asked: 2018-12-31 09:02:33 +0800 CST2018-12-31 09:02:33 +0800 CST 2018-12-31 09:02:33 +0800 CST 如何grep'$$$$$'?[复制] 772 我想检查文件中是否缺少以下字符序列$$$$$(即 5 个美元符号),因为它已被使用而不是逗号来分隔字段,我需要确保这不会与现有的类似序列发生冲突。jsongrep 但是,当我 grep 时$,我得到相似数量的行。这似乎$是行尾的特殊字符? 如何$$$$$使用 grep 进行搜索?是$特殊字符吗? grep string 1 个回答 Voted Best Answer ilkkachu 2018-12-31T09:04:28+08:002018-12-31T09:04:28+08:00 这似乎$是行尾的特殊字符? 是的,正是。每一行都有一个行尾。 您需要使用\$\$\$\$\$as 模式或使用grep -F '$$$$$', 来告诉grep使用模式作为固定字符串而不是正则表达式。 或者更短版本的正则表达式模式:\$\{5\}基本正则表达式或\${5}扩展正则表达式 ( grep -E)。 (在基本的正则表达式(plain grep)中,您实际上只需要转义最后一个美元符号,因此$$$$\$可以代替\$\$\$\$\$. 但在扩展的 ( grep -E) 和 Perl 正则表达式中,它们都需要转义,所以无论如何最好这样做。)
是的,正是。每一行都有一个行尾。
您需要使用
\$\$\$\$\$
as 模式或使用grep -F '$$$$$'
, 来告诉grep
使用模式作为固定字符串而不是正则表达式。或者更短版本的正则表达式模式:
\$\{5\}
基本正则表达式或\${5}
扩展正则表达式 (grep -E
)。(在基本的正则表达式(plain
grep
)中,您实际上只需要转义最后一个美元符号,因此$$$$\$
可以代替\$\$\$\$\$
. 但在扩展的 (grep -E
) 和 Perl 正则表达式中,它们都需要转义,所以无论如何最好这样做。)