考虑这个命令:
printf 'alpha\nbravo\ncharlie\n' | grep --line-regexp --quiet bravo
grep 看到由换行符分隔的 3 行,并与 bravo 行匹配。现在考虑
这个命令:
printf 'alpha\0bravo\0charlie\0' | grep --line-regexp --quiet bravo
我的想法告诉我,因为我没有使用过--null-data
, grep 应该看到
1 甚至 0 行以换行符分隔,并且无法匹配bravo
其次是
新队。然而没有,和第一个命令一样成功了,为什么
这?
这种行为被介绍 http://savannah.gnu.org/forum/forum.php?forum_id=8152使用 Grep 2.21:
当搜索二进制数据时,grep 现在可以将非文本字节视为行
终结者。这可以显着提高性能。
所以现在发生的情况是,对于二进制数据,所有非文本字节
(包括换行符)被视为行终止符。如果你想改变这个
行为,您可以:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)