我有一个使用$1
and greps 的脚本$2
,第一个参数是模式,第二个参数是文件。
我需要创建另一个脚本来调用第一个脚本,将两个参数传递给它,如果第二个是目录,则在目录中的所有文件上循环它。
有谁知道我会怎么做?我不断接近,但惨遭失败。
编辑
以为我发的另一个帖子没有通过,不知怎么弄丢了。我向大家道歉,非常抱歉。
请原谅我。:(
if [[ -d $2 ]]; then
find "$2" -type f -exec ./script "$1" {} \;
else
./script "$1" "$2"
fi
如果$2
是一个目录,那么该find
命令会查找其中的所有文件并为每个文件调用./script
一次。花括号{}
是这些文件名的占位符。
就像是:
[[ -d "$2" ]] && grep -e "$1" -r "$2" || grep -e "$1" "$2"
它测试 arg 2 是否为目录(bash 语法),如果是,则以递归模式调用 grep,否则以非递归模式调用。