Bash-将所有文件从子目录移动到上一个文件夹
我想将所有文件从文件夹11/22移动到/volume1/TVPack/A 以及从文件夹33到/volume1/TVPack/B的所有文件 等 例如,向上移动两层 我使用的代码是Bash-将所有文件从子目录移动到上一个文件夹,bash,move,Bash,Move,我想将所有文件从文件夹11/22移动到/volume1/TVPack/A 以及从文件夹33到/volume1/TVPack/B的所有文件 等 例如,向上移动两层 我使用的代码是 /volume1/TVPack/A/Folder1/Folder11/ --> files /volume1/TVPack/A/Folder2/Folder22/ --> files /volume1/TVPack/B/Folder3/Folder33/ --> files (the list goes
/volume1/TVPack/A/Folder1/Folder11/ --> files
/volume1/TVPack/A/Folder2/Folder22/ --> files
/volume1/TVPack/B/Folder3/Folder33/ --> files
(the list goes on)...
但这会将所有文件仅放在文件夹B中,而不是将各自的文件放在A中,将各自的文件放在B中
我在任务调度器上执行此操作,因此我认为我不能使用mv*[^.]*
有人知道怎么做吗 使用
-execdir
,在执行命令之前,每个文件所在的目录都有一张cd
find /volume1/TVPack/*/ -type f -mindepth 3 -exec mv -- {} /volume1/TVPack/*/ \;
更好的方法是使用+
而不是\
以最小化mv
命令的数量
find /volume1/TVPack/*/ -type f -mindepth 3 -execdir mv -- {} ../../ \;
find /volume1/TVPack/*/ -type f -mindepth 3 -execdir mv -t ../../ -- {} +