linux - 重命名子文件夹

标签 linux bash find cut

我尝试修复我的音乐文件夹,这是 itunes 搞乱的。

所以我需要的是用于移动文件的脚本:

音乐\艺术家\专辑名称\艺术家 - 标题.mp3

将文件移动到

newmusic\专辑名称\艺术家 - title.mp3。

我尝试了下面的行,但没有成功。

find music -type f -exec bash -c 'ext="${0##*.}";基=“$(基名称“$0”。“$ {ext}”)”; dirs="$(目录名 "$0"| cut -d '/' -f 2,3)"; new="newmusic/${dirs}/${base}.${ext}"; cp "$0""${new}"' {}\;

“cut -d '/' -f 2,3”是否应该在 new="newmusic/${{dirs} cut -d '/' -f 2,3}/中 有人可以帮忙吗?提前致谢..

最佳答案

我在这里遗漏了什么,还是mv无法实现你想要的?根据您的问题,这应该有效:

mv music/*/* newmusic/

关于linux - 重命名子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4984902/

相关文章:

linux - 如何使用egrep查找以数字开头的字符串

bash - 将单列文件转换为多列

macos - 在带空格的目录中查找最后修改的文件

linux - Bash - 获取端口 ID 的脚本

shell - Unix命令获取远程主机上的目录列表

c++ - 模板参数推导/替换失败 - std::find()

linux - 由于 cgroups 配置错误导致 docker 启动失败

java - 如果目录发生变化,如何通过 Java 从 Linux 连续获取信息?

linux - Android SDK 网络浏览器

bash - 如何中断或消除 inotifywait 循环?