【发布时间】:2016-11-15 19:40:34
【问题描述】:
我正在尝试创建一个bash 命令,该命令使用grep 在指定目录中搜索参数。我该怎么做。目前它只搜索当前目录。我尝试了以下方法,但它不起作用:
ls $directoryName -l | grep "$1"
【问题讨论】:
-
在最简单的情况下,例如:
grep "$1" "$directoryName/*"。为了获得更大的灵活性,您可能需要考虑:find "$directoryName" -type f -exec grep "$1" {} +。 -
你试过
grep -r $1 $directory吗? (-r使 grep 递归) -
@NimaGhotbi 很好,每当我这样做时都会给我错误。第 4 行:/a/directory:是一个目录。
-
在您的原始帖子中,您从命令
ls $directoryName -l | grep "$1"中看到了什么确切的输出? -
@RobDavis 我得到的输出是 >>>> ./exampleFolder: line 4: /home/../../../.exampleFolder: Is a directory
标签: bash shell unix command-line