如何 grep '$$$$$'?

如何 grep '$$$$$'?

我想检查文件中是否存在以下字符序列$$$$$(即 5 个美元符号),因为它已被使用而不是逗号来分隔字段,并且我需要确保这不会导致与现有的类似序列发生冲突。jsongrep

但是,当我 grep 时$,我得到了相似的行数。似乎$是行尾的特殊字符?

如何$$$$$使用 grep 进行搜索?是$特殊字符吗?

答案1

似乎$是行尾的特殊字符?

是的,完全正确。每行都有一个行尾。

您需要使用\$\$\$\$\$as 模式,或者使用grep -F '$$$$$', 来告诉grep将模式用作固定字符串而不是正则表达式。

或者更短版本的正则表达式模式:\$\{5\}在基本正则表达式或\${5}扩展正则表达式中 ( grep -E)。

(在基本正则表达式(plain grep)中,您实际上只需要转义最后一个美元符号,因此$$$$\$可以代替\$\$\$\$\$。但在扩展 ( grep -E) 和 Perl 正则表达式中,它们都需要转义,所以无论如何最好这样做。)

相关内容