0

我正在尝试查找文件中存在的一行: devnode "^sda[1-9]?$"

我正在使用的命令是: grep 'devnode \"\^sda\[1-9\]\?\$\"' $file

但这似乎不起作用。我已确保使用 $ like "grep '\$'" 在某些解决方案中报告,但它不起作用。

谁能帮我解决这个问题,令人沮丧。

谢谢

4

2 回答 2

0
grep 'devnode "^sda\[1-9\]?$"' file

Grep 理解两种不同版本的正则表达式语法:“基本”和“扩展”。

grep 'foo' 文件/使用基本正则表达式

grep -E 'foo' 文件/使用扩展正则表达式。

如果使用基本正则表达式,?、+、{、|、( 和 ) 没有特殊含义。如果使用扩展正则表达式,像这样。

grep -E 'devnode "\^sda\[1-9\]\?\$"' file
于 2013-07-23T12:16:04.197 回答
0
grep 'devnode "^sda\[1-9]?\$"' $file

在 POSIX BASIC REGEXP – https://www.mirbsd.org/man7/re_format – 一些字符只有在使用反斜杠时才会变得特殊,而不是没有它。

于 2013-07-24T15:22:38.703 回答