我正在尝试自动化流程,但希望使其更高效,更智能。我每天都会自动从我的电子邮件中下载文件,电子邮件的命名约定如下:
pending_file_“current_date”.xlsx(current_date为mmddYYYY,即pending_file_12082015.xlsx)
正如预期的那样,这个文件夹会变得很大,大量的文件命名非常相似,标题中只有一个更改,在这种情况下,更改将是当前日期。
我正在努力确保获取与当天相对应的文件,这是我到目前为止所做的:
cd Pending_File
date=$(date.exe +"%m%d%Y") #assigns the current date to the date variable in the form of mmddYYYY
if [[ -f *"$date"* ]]; then
scp pending_file_"$date".xlsx example@sample;
echo "I have successfully completed today's file!"
else
echo "Could not find today's file!"
fi
目前,如果我执行我的代码,它总是执行else语句,即使我的pending_file文件夹包含名为pending_file_“current_date”.xlsx的文件。我的期望是date = 12082015,它也包含在文件pending_file_12082015中,因此if语句将返回true,因为[-f “$ date”]能够匹配文件中的日期字符串名。
答案 0 :(得分:0)
这将有效:
if [[ -f "pending_file_${date}.xlsx" ]]; then
scp ...
fi
就像这样:
for f in *$date*; do
scp "$f" ...
done