如何使用变量中定义的掩码检查目录中是否存在文件
How to check files present or not in directory with mask defined in variable
我有 bash 脚本,它列出了掩码
的文件
OFFSET1=`date +%y%m%d -d "2 day ago"`
并将它们移动到另一个目录中。
文件格式例如 - *160123*.log
需要检查,如果掩码为 $OFFSET1 的文件存在,则将其移动到目录 $DIR 中,否则退出脚本。
我试过了
if [ -r *$OFFSET1* ];then
但什么都没有
这个怎么样?
OFFSET1=$(date +%y%m%d -d "2 day ago")
for f in *"$OFFSET1"*;
do
echo "$f"
done
您应该use $()
syntax instead of backticks, and then use globbing列出文件。请记住在 mv
语句中引用 $f
,以防文件中包含空格。
我有 bash 脚本,它列出了掩码
的文件OFFSET1=`date +%y%m%d -d "2 day ago"`
并将它们移动到另一个目录中。
文件格式例如 - *160123*.log
需要检查,如果掩码为 $OFFSET1 的文件存在,则将其移动到目录 $DIR 中,否则退出脚本。
我试过了
if [ -r *$OFFSET1* ];then
但什么都没有
这个怎么样?
OFFSET1=$(date +%y%m%d -d "2 day ago")
for f in *"$OFFSET1"*;
do
echo "$f"
done
您应该use $()
syntax instead of backticks, and then use globbing列出文件。请记住在 mv
语句中引用 $f
,以防文件中包含空格。