使用GNU grep
:
echo zabczabc | egrep -o 'a{1}'
a
a
这里的目标是只输出第一个“a”,而不是第二个。添加-m 1
没有效果。
不使用管道到任何实用程序,(即| tail -1
),GNU 是否 grep
单独提供任何方法来仅输出第一个(或更好的是第n个)匹配的一行?
Perl样式的grep -P
答案还可以。或者,如果上述已知是或可证明是不可能的,那也将是一个答案。
注意:这不是 2009 年的问题How to make grep stop at first match on a line的副本?,因为在那个答案中:
grep
版本相关的错误。我建议使用 GNU grep:
grep -Po '^.*?\Ka{1}(?=.*)'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句