需要Shell脚本来获取创建的文件名

时间:2018-01-17 05:04:48

标签: bash shell

如果特定文件创建成功或失败,我正在编写一个脚本来获取输出。

示例:在路径/ 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

收到的输出:文件创建不成功(虽然今天创建了一个文件) 预期输出:文件创建成功

我如何纠正这一点,任何人都可以让我知道如何成功创建文件输出。

由于

1 个答案:

答案 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.但是,如果它可能是abcabd,您可以使用

来处理
if [ -f ab[cd].out${TODAY}[0-2][0-9][0-5][0-9] ]