当前位置: 技术问答>linux和unix
求助AIX高手。
来源: 互联网 发布时间:2016-08-31
本文导语: 本帖最后由 java528 于 2010-06-03 09:31:12 编辑 现在项目有一个需求,就是在AIX上操作文件的。 问题是这样的: 现在要5分钟去检查一下某个文件夹, 如果有类似XXXXXXX123443.3423.txt的文件 就截取123443这个数字,然后运行kil...
问题是这样的:
现在要5分钟去检查一下某个文件夹,
如果有类似XXXXXXX123443.3423.txt的文件
就截取123443这个数字,然后运行kill -9 123443
再然后运行startup.sh 命令,然后删除所有XXXXXXX123443.3423.txt这样的文件,
最关键的是kill 和startup ,
文件删不删都可以的。
现在XXXXXX是不固定的字符串,123443也是不固定的数字。。。
各位大侠帮小弟看看吧。,谢谢。
用crontab吧。
|
starup_path=/somepath/
filepath=/somepath/
这2句后面 改成你实际的路径
filepath=/somepath/
这2句后面 改成你实际的路径
#!/bin/sh
starup_path=/somepath/
filepath=/somepath/
for file in `ls ${filepath}*.txt`
do
pid=`basename $file | cut -d"." -f1 | grep -o -E "[0-9]{1,}"`
if [[ $pid -gt 0 ]];then
kill -9 $pid
${starup_path}startup.sh
rm -rf $file
fi
done
|
假设你的文件全部在目录dir下,假设你的字符串长度为6,数字长度为6
ls -l ${dir} | awk '{print $9}' | grep '[a-z]{6}[0-9]{6}' | while read file
do
p_id=`echo ${file} | awk '{print substr($0,7,6)}'`
kill -9 ${p_id}
startup.sh
rm ${file}
done
ls -l ${dir} | awk '{print $9}' | grep '[a-z]{6}[0-9]{6}' | while read file
do
p_id=`echo ${file} | awk '{print substr($0,7,6)}'`
kill -9 ${p_id}
startup.sh
rm ${file}
done