我需要sed
行,将stroodle-EMAIL-MSG.mail
重命名为stro{dd_mm_yyyy}.zip
是否能够做到这一点?
答案 0 :(得分:0)
正如您在帖子的评论中所说的那样,您最好不要使用sed
来执行此任务。
相反,请考虑使用UNIX date
命令。假设您想要当前日期,并使用bash
语法:
mv "stroodle-EMAIL-MSG.mail" \
"stroodle{$(date +%d_%m_%Y)}.zip"
文件将重命名为stroodle{09_07_2014}.zip
。
如果您想使用其他日期,例如去年圣诞节那天:
mv "stroodle-EMAIL-MSG.mail" \
"stroodle{$(date +%d_%m_%Y -d 'December 25 2013')}.zip"
这次您的文件将重命名为stroodle{25_12_2013}.zip
(有关man date
的{{1}}选项的可用字符串格式的详细信息,请参阅info date
或更好的-d
。
现在,如果您真的必须使用date
(也许您想在文本文件中更改此名称?),您可以使用以下内容:
sed
备注:为了更好地按日期对文件进行排序,您可以考虑将ISO 8601格式与sed "s/stroodle-EMAIL-MSG.mail/stro{$(date +%d_%m_%Y)}.zip/" input_file
而不是date +%F
一起使用。我喜欢ISO 8601。