- 论坛徽章:
- 4
|
如题。
目的是把每天新接收到的目录/A下的文件的行数统计出来,
把结果累加到目录/countfile/相对应的文件中。
目录/countfile/下的文件中只记录相对应目录A下的文件的行数。
20150923,目录A下新接收到的数据
$ls -l /A/*
a1.txt
a2.txt
$cat a1.txt
header
111111111
222222222
footber
$cat a2.txt
header
333333333
444444444
555555555
footer
-------------------
目录/countfile下对20150922下文件的统计结果。
$ls -l /countfile/*
a1.txt
a2.txt
$cat a1.txt
5
$cat a2.txt
6
--------------------
程序如下,执行之后,目录/countfile下的文件行数变为
$cat a1.txt
7
$cat a2.txt
9
-----------------------------------------
写了一个程序,执行的时候出问题,请高手指点程序哪块有问题?
是否有其它更好的办法实现?
-----------------------------------------
for id in $(ls -l /A/*);
do
#如果文件不存在,输出0件。
if [ ! -f "id" ]; then
$sum_count=0
echo -e "$(`expr $sum_count`)" > /count_file/$id
else
#更新到20150922为止,目录/count_file/下文件的件数。
$sum_count=`cat /count_file/$id`
#统计20150923新接收到的文件件数(不包含header和footer)
$record_count=`expr $(wc -l < /A/$id) -2`
echo -e "$(`expr $sum_count + $record_count`)" > /countfile/$id
fi
done;
----------------------------------------- |
|