【发布时间】:2014-01-30 23:56:47
【问题描述】:
我在 unix (SUN) 中有一个目录(输出)。创建的文件有两种类型,文件名带有时间戳前缀。这些文件每隔 10 分钟创建一次。 e.克:
1. 20140129_170343_fail.csv (some lines are there)
2. 20140129_170343_success.csv (some lines are there)
现在我必须在输出目录中存在的所有文件中搜索特定字符串,如果在失败和成功文件中找到该字符串,我必须计算这些文件中存在的行数并将输出保存到cnt_succ 和 cnt_fail 变量。如果没有找到该字符串,我将在 20 秒的睡眠计时器后再次在同一目录中搜索。
这是我的代码
#!/usr/bin/ksh
for i in 1 2
do
grep -l 0140127_123933_part_hg_log_status.csv /osp/local/var/log/tool2/final_logs/* >log_t.txt; ### log_t.txt will contain all the matching file list
while read line ### reading the log_t.txt
do
echo "$line has following count"
CNT=`wc -l $line|tr -s " "|cut -d" " -f2`
CNT=`expr $CNT - 1`
echo $CNT
done <log_t.txt
if [ $CNT > 0 ]
then
exit
fi
echo "waiitng"
sleep 20
done
我面临的问题是,我无法在文件中获取 _success 和 _fail 并检查它们的计数
【问题讨论】: