我有一个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块。请帮忙!
答案 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