Chinaunix
标题:
关于循环判断路径下文件的问题,请各位大神帮忙!
[打印本页]
作者:
lovesky_25f
时间:
2014-07-18 11:23
标题:
关于循环判断路径下文件的问题,请各位大神帮忙!
我想循环判断某一个路径下某一个文件是否存在,当文件存在时就执行其他程序,如果不存就是就始终循环判断,直到文件存在为止,这个程序想始终在后台运行,请问各位大神该怎样写shell??
作者:
ly5066113
时间:
2014-07-18 11:28
回复
1#
lovesky_25f
while :
do
if [ -e "PATH/file" ]
then
your command
break
fi
sleep 30
done
复制代码
作者:
lovesky_25f
时间:
2014-07-18 14:25
如果判断某个路径下多个文件是否存在(文件的共性是8位日期),又该怎样写呢,谢谢!
作者:
zerostudy
时间:
2014-07-18 14:42
本帖最后由 zerostudy 于 2014-07-18 14:48 编辑
刚才没看清楚。
#! /bin/sh
files="a b c d e f"
while [ 1 ];do
chk=1
for x in $files;do
if [ ! -f "$x" ];then
chk=0
fi
done
if [ $chk -eq 1 ];then
echo "$files is exists"
fi
sleep 2
done
复制代码
作者:
fxpbupt
时间:
2014-07-18 14:48
fn=$(ls /dir [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] |wc -l)
[ "$fn" -gt 0 ] && echo "have"
感觉好丑啊
回复
3#
lovesky_25f
作者:
lovesky_25f
时间:
2014-07-18 14:48
如果判断某个路径下多个文件,比如说5个文件,是否存在(文件的共性是8位日期),如果少一个都不执行,又该怎样写呢,谢谢!
作者:
fxpbupt
时间:
2014-07-18 14:57
本帖最后由 fxpbupt 于 2014-07-18 15:02 编辑
回复
6#
lovesky_25f
while :
do
fn=$(ls /dir |grep -P '[0-9]{8} |wc -l)
if [ "$fn" -gt 5 ]
then
command ;
break;
fi
sleep 30
done
作者:
lovesky_25f
时间:
2014-07-18 15:54
不好意思,我表达的有错误,应该是目录下有5个文件,(文件
名
的共性是8位日期,不是文件的内容),如果少一个都不执行,该怎样写呢,谢谢!
作者:
lovesky_25f
时间:
2014-07-18 15:57
谢谢各位大神帮忙!!!
作者:
用户名注册后不能更改
时间:
2014-07-19 00:17
回复
8#
lovesky_25f
ls | grep
难道不是文件名么。
作者:
用户名注册后不能更改
时间:
2014-07-19 00:18
回复
7#
fxpbupt
grep有-c的。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2