无法使用xargs命令递归重命名文件

时间:2019-01-24 08:59:32

标签: unix xargs

我必须递归重命名与模式匹配的所有文件。我正在使用以下命令。

find . -type f -iname 'dev*' | xargs -I{} mv $1 echo '/dev-profile/prod-profile'

运行上面的命令时,出现以下错误 missing destination file operand after /dev-profile/prod-profile

我需要递归替换所有文件。我要去哪里错了。

1 个答案:

答案 0 :(得分:0)

xargs中处理参数常常会使bash -c ... _陷入混乱。

如果您具有GNU Parallel,则可以避免这种混乱,并且可以执行以下操作:

find . -type f -iname 'dev*' | parallel mv {} /dev-profile/prod-profile