我有一堆标记为file1.out, file2.out, file3.out, ...,的输出文件fileN.out。
所有这些文件中都有一个名为“keystring”的字符串的多个实例。然而,只有“keystring”的第一个实例对我来说才有意义。其他线路不需要。
当我这样做时,
grep 'keystring' *.out
我会到达所有文件,并且它们会输出keystring.
当我这样做时grep -m1 'keystring' *.out,我只在有密钥字符串时获取实例file1.out。
我想提取所有这些输出文件中密钥字符串首先出现的行。我怎样才能做到这一点?
您可以使用awk:
awk '/keystring/ {print FILENAME ":", $0; nextfile}' *.out
Run Code Online (Sandbox Code Playgroud)
nextfile一旦打印了当前文件中的第一个匹配项,就会移至下一个文件。