使用 GNU grep
:
echo zabczabc | egrep -o 'a{1}'
a
a
这里的目标是仅输出第一个“a”,而不是第二个。添加-m 1
无效。
不使用任何util的管道(即| tail -1
), GNU grep
单独提供任何方式只输出第一个 ,(或者更好的是 n ),从一行匹配?
Perl 样式grep -P
答案没问题。或者,如果已知上述情况,或者可证明是不可能的,那么这也是一个答案。
注意:这不是2009年问题How to make grep stop at first match on a line?的重复,因为答案是:
grep
版本相关的错误。答案 0 :(得分:1)
我建议使用GNU grep:
grep -Po '^.*?\Ka{1}(?=.*)'