【发布时间】:2018-01-17 05:04:48
【问题描述】:
我正在编写一个脚本来获取特定文件创建成功或失败的输出。
示例:在路径 /x/y/z/ 中,每天都会创建一个名为 abc.out_timestamp 的文件。
我正在工作的脚本需要检查文件是否是今天创建的,并相应地显示输出。
Path : /x/y/z have the below files
abc.out0114181500
abc.out0115181600
abd.out0116182100
要运行的脚本:
#!/bin/bash
TODAY=$(date +%m%d%y)
cd /x/y/z
if [ -f abc.out_$TODAY ]
then
echo "$file creation successful"
else
echo "$file creation not successful"
fi
收到的输出:文件创建不成功(尽管今天创建了一个文件) 预期输出:文件创建成功
我该如何纠正这个问题,任何人都可以让我知道如何将输出作为文件创建成功。
谢谢
【问题讨论】:
-
在文件名
abc.out0114181500中,MMDDYY 是011418,但1500是什么?为什么脚本会在out和日期之间插入下划线_?最后,如果日期改为 YYMMDD 会更有意义。 -
1500 是时间 HHMM,我们使用的时间戳格式是 MMDDYYHHMM。 uderscore _ ,我在 google 中找到它并尝试以这种方式获取今天创建的文件,但它无法正常工作。相反,如果我正在寻找文件名和时间戳,我会按预期得到输出,但我不能使用这种方法,因为时间戳每天都在变化。 @吉姆加里森