Answers:
您可以为此使用find和xargs
find /thisdir -type f -name "*.ogg" -print0 | xargs -0 -Imysongs mv -i mysongs /somedir
上面命令中的-I告诉xargs您要使用什么替换字符串(否则它将参数添加到命令末尾)。
或
在您的命令中,只需尝试在mv
命令后移动'{}' 。
find /thisdir -type f -name '*.ogg' -exec mv -i {} /somedir \;
mv -i
在这里使用,这样一来,如果发生意外情况,您就不会冒险覆盖文件。
在zsh或bash 4中,将所有*.ogg
文件收集到/somedir
:
mv /thisdir/**/*.ogg /somedir
如果要重现目录层次结构:(警告,请直接在浏览器中键入)
rsync -a --prune-empty-dirs --include='*/' --include='*.ogg' --exclude='*' /thisdir /somedir