示例文件:
foobar random text foobar random text foobar
text
text
text
如果我使用grep
并搜索单词foobar
,我怎样才能阻止grep
将第一行返回3次,因为它发现了3次foobar
?我想要的是每行只有一个回报,即使在该行上多次找到该词
答案 0 :(得分:0)
简单 awk 替代方案:
awk '/\<foobar\>/{print NR,"foobar"}' file
输出(用于示例输入):
1 foobar
\<
和\>
表示字边界
NR
- 包含当前行号
使用 perl :
perl -ne 'print $.," ",$1,"\n" if /\b(foobar)\b/' file
输出:
1 foobar