假设我有一个包含很多单词的文件,我只想找到模式为“xyz”的第一个单词。如果同一行中有多个具有此模式的单词,我该怎么办?
-m
返回匹配的第一行中的所有单词。我只需要 grep 命令。
dr_*_*dr_ 15
默认情况下grep
打印与模式匹配的行,因此如果模式在一行中出现一次或多次,grep
将打印整行。
添加标志-m 7
将告诉grep
仅打印图案出现的前 7 行。
所以这应该做你想做的(我没有测试过):
grep -o -m 1 xyz myfile | head -1
Run Code Online (Sandbox Code Playgroud)
编辑:正如@Kusalananda 所指出的,您并不严格需要该-m
标志,但使用它意味着grep
不需要解析整个文件,并且会更快地输出结果,特别是如果myfile
是一个大文件。
归档时间: |
|
查看次数: |
37238 次 |
最近记录: |