grep -l 'string' 路径打印路径后跟 'is a directory'



我不知道自己做错了什么。我试图让grep返回目录中文件中的字符串匹配,但它只是返回后面跟着"is a directory"的路径。我查看了手册页,做了grep-help,但我不理解语法。

递归需要-r

以下将在some_directory中搜索包含something:的文件

grep -l -r something some_directory

如果您没有指定-rgrep会认为您正在尝试搜索目录本身,它会做出适当的响应:

grep: some_directory: Is a directory

使用-rgrep可以理解您希望在以some_directory开头的目录树中查找文件。

检索不带路径的文件名

要从文件名中删除路径,例如,我们可以使用basename:

grep --null -l -r something some_directory | xargs -0 -n1 basename

如果您只想在保留任何子目录的同时消除some_directory,那么使用:

( cd some_directory; grep -l -r something . )

相关内容

  • 没有找到相关文章

最新更新