如何查找是否存在带有前缀PY的文件

时间:2018-10-09 07:17:31

标签: bash shell unix

我有一个Shell脚本,试图在其中查找是否存在任何以“ PY”前缀开头的文件。如果存在,那么我需要执行某些操作。 我的代码是

#!/bin/bash
export FILE=/usr/local/a/PY_`date +%Y%m%d`*.txt
if [ -e $FILE ] 
then
// do something
else
//do something else
fi

这有什么问题?它不能识别文件,并且即使文件存在于此,控件也总是进入else块。请帮忙!

2 个答案:

答案 0 :(得分:1)

如何查找:

find /usr/local/a/ -maxdepth 1 -name "PY_`date +%Y%m%d`*.txt" -exec <do_something> \;

(我不确定是使用maxdepth 1还是0)

答案 1 :(得分:0)

可能有另一种方法可以实现:

获取类型为PY_ date +%Y%m%d *.txt的文件数的计数,如果计数大于等于1,请执行以下操作:

#!/bin/bash

Date=$(date +%Y%m%d)
file_count=$(find /usr/local/a -type f -name "PY_${Date}*.txt"|wc -l)
if [[ "$file_count" -ge "1" ]]
then
//do your actions//
else
//do something else//
fi