我需要一些帮助完成脚本以将文件夹文件依次重命名为文件夹名称。我原以为这是一种常见的行为,但我似乎无法找到我在搜索后究竟在寻找什么。我发现了一些可以按顺序重命名文件的工具,但我想将文件夹或目录名追加到文件的前面。批量重命名文件以包含linux中的文件夹/目录名称
#!/bin/bash
a=1
for i in *.jpg; do
new=$(printf "%04d.jpg" ${a}) #04 pad to length of 4
mv ${i} ${new}
let a=a+1
done
所以我想这些文件夹和文件:
~/tmp/6856u56u56.jpg
~/tmp/7567787.jpg
~/tmp2/46u65h5hh.jpg
~/tmp2/b656hy6hjh.jpg
的样子:
~/tmp/UG-tmp-001.jpg
~/tmp/UG-tmp-002.jpg
~/tmp2/UG-tmp2-001.jpg
~/tmp2/UG-tmp2-002.jpg
~/tmp/(text)-(directory name)-(sequential numbering).(extension)
运行脚本之后。
任何人都可以帮我吗?另外,文件不一定是.jpg,文件夹名称中可能有空格。如果这是一个问题,请让我知道。这是使用bash脚本的Linux。如果它运行良好,我可能会尝试将它集成到文件管理器的右键单击中。提前致谢!