我的安装程序如下,我想查找和移动文件。
我有档案/home/backup/abc/123.wav
和/home/backup/xyz/456.wav
。存在相同的目录,/usr/src/abc
并且/usr/src/xyz
没有任何文件。
我想从home_dir查找.wav文件,并将它们移至特定的dest_dir。
因此123.wav应该移至/ usr / src / abc,而456.wav应该移至/ usr / src / xyz。我正在使用以下命令。
home_dir=/home/backup/
dest_dir=/usr/src/
cd $home_dir && find . -iname "*.wav" -exec mv {} $dest_dir \;
但是所有.wav文件(123.wav和456.wav)都移至/ usr / src,而不移至其各自的目录(/ usr / src / abc和/ usr / src / xyz)。
是否可以实现我想要的?请提出建议。
使用cp --parents
选项withfind
创建每个要复制的文件的父目录:
home_dir=/home/backup/
dest_dir=/usr/src/
cd "$home_dir"
find . -iname "*.wav" -exec cp --parents {} "$dest_dir" \; -delete
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句