我想构建一个涉及到find
的长命令。我有一个要忽略的目录数组,并且我想将这个目录格式化为命令。
基本上,我想将这个数组转换为:
declare -a ignore=(archive crl cfg)
变成这样:
-o -path "$dir/archive" -prune -o -path "$dir/crl" -prune -o -path "$dir/cfg" -prune
通过将目录添加到数组中,我可以简单地进行操作,find
命令会相应地进行调整。
到目前为止,我已经想出了如何使用的头部或尾部添加。
${ignore[@]/#/-o -path \"\$dir/}
${ignore[@]/%/\" -prune}
但是我不知道如何将它们组合起来并同时在数组的每个元素前缀和后缀添加内容。
$( echo $(echo ${ig[@]} | sed 's/a/b/g;s/c/d/g;s/d/e$/;s/^f/g/') )
的东西做过类似的事情。祝你好运! - shellter