使用sed和mv重命名文件
|
我想以以下格式重命名文件:
img_MM-DD-YY_XX.jpg
img_MM-DD-YY_XXX.jpg
至:
newyears_YYYY-MM-DD_XXX.jpg
哪里:
YYYY =年
MM =月
DD =天
XXX或XX =照片编号
我想出了这个脚本,但是它不起作用:
for filename in ?*.jpg; do
newFilename=$(echo $filename | \\
sed \'s/img_\\(.*\\)-\\(.*\\)-\\(.*\\)_\\([0-9][0-9]\\)\\./newyears_20\\3-\\1-\\2_0\\4./;
s/img_\\(.*\\)-\\(.*\\)-\\(.*\\)_\\([0-9][0-9][0-9]\\)/newyears_20\\3-\\1-\\2_\\4/\' -)
mv $filename $newFilename
done
任何帮助将不胜感激。
没有找到相关结果
已邀请:
7 个回复
碧肮械淌设
也支持2ѭ。
梦砍废么
省略管道重击以在mv之前查看结果 感谢http://www.gnu.org/software/sed/manual/sed.html#Rename-files-to-lower-case
捻盒愧杯
肉簧咸缮
要创建此文件,只需执行ls | grep日期格式| sed脚本将mv file1粘贴到file2> myscript 然后执行./myscript 这样,您可以更好地查看中间输出以找出问题所在。
械怒等
唯一的区别是使用显式的“ 8”选项代替分号。 在MacOS X 10.6.7上测试。
僻朵庙惩竣
穗揣