Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我将 egrep 用于某些测试/学习目的,我对课堂上的否定(“ ^ ”)感到惊讶。
我在test.txt中使用以下文本:
Iraq Qantas Iraqi Iraqian miqra qasida qintar qoph zaqqum%
使用:egrep 'q[^u]' test.txt结果是: zaqqum%。如果我理解,我的结果应该列出所有存在q且 后面没有u的匹配项。但正如你所见,我得到了相反的结果。为什么?(我知道我可以使用 egrep -v )。谢谢
您的 grep 正在按预期工作。它打印zaqqum%是因为qq:
zaqqum%
qq
$ egrep 'q[^u]' a Iraqi Iraqian miqra qasida qintar qoph zaqqum%
如果您仅显示匹配项,则更清楚:
$ egrep -o 'q[^u]' a qi qi qr qa qi qo qq
如果添加zaqum%,则不会出现:
zaqum%
$ echo "zaqum%" | egrep 'q[^u]' $