![抑制 grep 中搜索键的特定实例](https://linux22.com/image/71916/%E6%8A%91%E5%88%B6%20grep%20%E4%B8%AD%E6%90%9C%E7%B4%A2%E9%94%AE%E7%9A%84%E7%89%B9%E5%AE%9A%E5%AE%9E%E4%BE%8B.png)
以前可能有人问过这个问题,但我找不到。我正在 grep 大量数据文件中的“NaN”来搜索错误;问题是,如果“NaN”在文件中出现一次,很可能它会出现数千次,因此输出将难以管理。具体来说,命令
grep "NaN" *
产生大约一千兆字节的输出,实际上所有这些都是冗余的。如何抑制出现“NaN”的所有特定行,而只打印文件名?
答案1
grep -l "Nan" *
或者,如果你想开始取消输出,grep "NaN" * | grep -v ...
我可能还应该提到另一个可能的下一步,那就是
grep -l "NaN" * | xargs grep ...
因为grep
需要文件名才能使用新的搜索词进行第二次处理。