以前可能有人问过这个问题,但我找不到。我正在 grep 大量数据文件中的“NaN”来搜索错误;问题是,如果“NaN”在文件中出现一次,很可能它会出现数千次,因此输出将难以管理。具体来说,命令
grep "NaN" *
产生大约一千兆字节的输出,实际上所有这些都是冗余的。如何抑制出现“NaN”的所有特定行,而只打印文件名?
答案1
grep -l "Nan" *
或者,如果你想开始取消输出,grep "NaN" * | grep -v ...
我可能还应该提到另一个可能的下一步,那就是
grep -l "NaN" * | xargs grep ...
因为grep
需要文件名才能使用新的搜索词进行第二次处理。