Unix 中的 grep 命令

Unix 中的 grep 命令

grep “^[^a-z]” foo和之间有什么区别吗grep –v “^[a-z]” foo

它显示相同的输出,而第一个命令显示一些突出显示的字符。这是唯一的区别吗?

答案1

首先我需要指出您的命令已粘贴到文字处理器中。请注意,命令中的引号是“弯引号”并且无效。

除此之外,命令几乎是相同的。

grep "^[^a-z]" foo

[^a-z]是一个正则表达式“匹配单个字符不存在在列表中”。所以这个命令将匹配文件中的任何foo才不是以小写字母开头。


grep -v "^[a-z]" foo

[a-z]是一个正则表达式“匹配单个字符展示在列表中”,但-v选项是“invert-match”(选定的行是那些不匹配任何指定模式的行。)。因此,这将找到文件中符合foo以下条件的任何行:才不是以小写字母开头。 不同之处该命令还将匹配空行。

相关内容