这个egrep
命令有什么作用?
egrep '[^A-M][0-9]+' /etc/passwd
到目前为止,我认为它会搜索/etc/passwd
以 AM 开头并包含数字 0-9 的任何文件。是对的吗?
答案1
^
在表达式的开头表示“行的开头”。但是,^
括号内的表达式匹配所有内容不是在那表情中。因此,例如,当[abcd]
匹配字母 a、b、c 或 d 时,表达式[^abcd]
会匹配除这些字母之外的所有内容。
因此,您得到的表达式匹配“任何非 AM 的内容,后跟 1 个或多个数字”。
以下几行都与该表达式匹配:
mmmmmz09123
00
this is a very long line that includes the number 1.
因为它们都包含一个数字,前面的数字不在 AM 范围内。