如果特定文件创建成功或失败,我正在编写一个脚本来获取输出。
示例:在路径/ x / y / z / daily中,将创建名为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
收到的输出:文件创建不成功(虽然今天创建了一个文件) 预期输出:文件创建成功
我如何纠正这一点,任何人都可以让我知道如何成功创建文件输出。
由于
答案 0 :(得分:0)
你有98%的路
#!/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.out${TODAY}????
将文件名与今天的日期匹配,后跟另外4个字符(并且没有下划线,这是假的)。
如果您想要更多验证,请使用
if [ -f abc.out${TODAY}[0-2][0-9][0-5][0-9] ]
我希望abd.
是一个拼写错误,它确实是abc.
但是,如果它可能是abc
或abd
,您可以使用
if [ -f ab[cd].out${TODAY}[0-2][0-9][0-5][0-9] ]