如何在不使用 cd 的情况下在不同的目录中使用 grep 命令

如何在不使用 cd 的情况下在不同的目录中使用 grep 命令

我想在一些文件中搜索某种模式,但不想使用 cd 进入保存这些文件的目录。我该怎么做?

答案1

您可以提供文件的绝对路径或相对路径。绝对路径通常从文件系统层次结构的根开始,即/相对路径从当前目录中包含文件的子目录的名称开始。

当您当前处于不同的层次结构中时,绝对路径是理想的选择。例如,当我当前在$HOME/Desktop并且想要从 访问文件c/mnt,我将使用绝对路径,即/mnt/c。另一方面,如果您要搜索的文件夹位于当前目录或当前目录的子目录中,则相对路径是理想的选择。当您使用 时file.txt,您实际上是在使用相对路径。

如果要在某个目录中的所有文件中搜索模式,*可以在支持全局或者,-r选择grep可以使用它来递归搜索目录中的所有文件。例如:

grep -r pattern /absolute/path/of/the/file

或者如果要忽略符号链接,-R可以使用

grep -R pattern /absolute/path/of/the/file

相关内容