我想将所有意外放入 flac 文件夹的 mp3 拉到它们的父文件夹中。
文件夹的深度无关紧要,我只想将匹配的文件向上移动一个目录。
以下是我选择文件的方法:
find . -path "*/flac/*" -name '*.mp3'
这适用于我的音乐文件夹,但我卡在这里。我找到的所有解决方案要么将文件移动到当前文件夹的父文件夹,要么需要一些固定结构。
答案1
尝试:
find . -path "*/flac/*" -name '*.mp3' -execdir mv -t ../ {} +
怎么运行的
find .
启动对当前目录进行操作的查找命令。
-path "*/flac/*"
仅选择
flac
路径中-name '*.mp3'
仅选择扩展名为 的文件
.mp3
。-execdir mv -t ../ {} +
对于找到的任何文件,
mv
从文件所在的目录运行命令,并将文件移动到父目录。除了使这项特定任务变得简单之外,该选项
-execdir
还比传统-exec
选项更安全。
简化
find . -path "*/flac/*.mp3" -execdir mv -t ../ {} +