【发布时间】:2021-05-09 07:28:52
【问题描述】:
我有一个可以读取 USB 记忆棒的汽车音响,但音响的“随机”功能仅适用于一个文件夹,所以我想将所有文件移动到父文件夹“STICK/music”,但要让艺术家,和专辑(如果有)添加到文件名中。 但是我所做的有点硬编码,我希望能够使用不同的棒。 我想要这些(“RHYTHMBLUES”是棍子的名字):
/media/homer/RHYTHMBLUES/music/Artist/Album/name1.mp3
/media/homer/RHYTHMBLUES/music/Artist/Album/name2.mp3
/media/homer/RHYTHMBLUES/music/Artist/name3.mp3
/media/homer/RHYTHMBLUES/music/Artist/name4.mp3
用文件夹名称重命名并移至“音乐”:
/media/homer/RHYTHMBLUES/music/Artist-Album-name1.mp3
/media/homer/RHYTHMBLUES/music/Artist-Album-name2.mp3
/media/homer/RHYTHMBLUES/music/Artist-name3.mp3
/media/homer/RHYTHMBLUES/music/Artist-name4.mp3
我想有一个 bash 命令来调用“doit”:
find . -type d -exec sh -c "cd \"{}\" ; /home/homer/doit \"{}\" " \;
并且“doit”将包含:
#!/bin/sh -x
echo --------------------------------
pwd
for i in *.mp3
do new=$(printf "${1}/${i}")
# remove the ./ at the beginning of the name
new=`echo "${new}" | cut -c 3-`
# replace folder separators
new=`echo "${new}" | tr '/' '-'`
echo "$i" "/media/homer/RHYTHMBLUES/music/$new"
mv -T "$i" "/media/homer/RHYTHMBLUES/music/$new"
done
【问题讨论】:
-
您打算在哪个目录下发出 bash 命令?
-
可能在 /media/homer/STICKNAME/music/,但愿意听取建议 :)