自定义批量重命名文件
您好,Mac OS X 以很长的文件名格式截屏。我想重命名位于路径 /Users/me/desktop 中的任何一个。
以下是文件名的一些示例:
Screen Shot 2012-08-02 at 1.15.29 AM.png
Screen Shot 2012-08-02 at 1.22.12 AM.png
Screen Shot 2012-08-02 at 1.22.14 PM.png
Screen Shot 2012-08-02 at 1.22.16 PM.png
曾经有人告诉我,不要针对 an 执行 for 循环,ls
所以这次我尝试使用 globbing。到目前为止,这就是我所能想到的,但我知道如何包装表达式,然后以我想要的格式将其重命名为文件:
for i in *; do
screen_name=$(echo $i | grep --only-matching --extended-regexp '(Screen\ Shot)\ [0-9]+-[0-9]+-[0-9]+\ at\ [0-9]+\.[0-9]+.[0-9]+.[AP]M\.png');
echo $screen_name;
done
我不确定时间的时间,在所有时间段上假设可能的 2 位数字可能是最安全的,所以 1.14.29 和 01.15.29
ss.08-02-12-01.15.29-AM.png
ss.08-02-12-01.22.12-AM.png
ss.08-02-12-01.22.14-PM.png
ss.08-02-12-01.22.16-PM.png
最终目标是一个 bash 脚本,它在运行时会将上述路径中的所有文件重命名为列出的新格式。
感谢您的任何帮助。