gpt4 book ai didi

linux - 使用 shell 脚本查找文件并将其移动到适当的目录

转载 作者:太空狗 更新时间:2023-10-29 11:18:00 25 4
gpt4 key购买 nike

我有以下设置,我想查找和移动文件。

我有文件 /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 选项和 find 为每个被复制的文件创建父目录:

home_dir=/home/backup/
dest_dir=/usr/src/
cd "$home_dir"

find . -iname "*.wav" -exec cp --parents {} "$dest_dir" \; -delete

关于linux - 使用 shell 脚本查找文件并将其移动到适当的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35595947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com