繁体   English   中英

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

[英]Need Shell script for getting the file name created

我正在编写脚本以获取成功创建或失败的特定文件的输出。

示例:每天都会在路径/ 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

收到的输出:文件创建不成功(尽管今天已创建文件)预期的输出:文件创建成功

我该如何纠正,有人可以让我知道如何成功创建文件时输出。

谢谢

您已经完成了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] ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM