前端时间一直在思索如何查找包含指定内容的文件,但是一直苦思不得其解。后来范县问题的原因在于对linux的管道"|"的理解不够彻底。
咱一直以为查找当前目录内包含x的查找方式是 find . |grep x
后来查看多方资料发现,应该是 find . -exec grep x {} \; 或者 find .|xargs grep x 命令。
为什么会这样能,因为通道命令符是把上一部的结果传递给下一步来处理,在 find . |grep x中虽然看似和find .|xargs grep x差不多,但是实际上还是有区别的。应为find .得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理。但是传递给xargs,他会把他当作一个有意义的文件来处理。
本文讲述了在Linux环境下如何正确地使用find命令结合其他工具如grep或xargs来查找包含特定内容的文件。通过对比不同的命令组合,揭示了管道符在命令间传递数据的工作原理。
6190

被折叠的 条评论
为什么被折叠?



