如何grep '$$$$$'?

use*_*654 4 grep string special-characters search file-search

我要检查没有字符以下序列$$$$$中(即5美元符号)json使用的文件grep,因为它已被使用,而不是逗号分隔字段,我需要确保这并不会导致现有的类似序列的冲突。

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

如何$$$$$使用 grep 进行搜索?是$特殊人物吗?

ilk*_*chu 18

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

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

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

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

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