我想将当前日期添加到文件名中。发送带有附件的电子邮件时。
我的脚本:
#!/bin/sh
clear
now=`date +"%m_%d_%Y"`
mutt -s "Reports $now" [email protected] -a /path/Reports.xlsx < /path/mailmessage.txt
但是,我想要当前日期和文件名而不是电子邮件主题。由于文件每天都会修改并通过电子邮件发送。
例如:通过电子邮件收到的 Reports_08032017.xlsx。
是否可以?
任何帮助表示赞赏。
答案1
创建一个具有所需文件名的临时副本,您可以在发送邮件后将其删除。
NOW=$(date +'%m_%d_%Y')
TMPCOPY="/tmp/Reports_$NOW.xlsx"
cp "/path/Reports.xlsx" "$TMPCOPY"
mutt -s "Reports $NOW" [email protected] -a "$TMPCOPY" < /path/mailmessage.txt
rm "$TMPCOPY"
答案2
最好在创建文件时执行此操作,但您也可以像这样更改它的名称:
today=$(date +%m-%d-%Y)
file="/path/Reports.xlsx"
nfile="/path/Reports-$today.xlsx"
mv $file $nfile