询问一个简单的循环累加的问题
linux bash
count=0
cat xxxx.log | grep xxx | while read LINE
do
count=$((count+1))
echo $count
done
这里可以看到count的值在累加,但我只要最后一个值即可。
问题是我把echo $count写到循环外面(done的下面)count的值却无论如何都为0
------解决方案--------------------
你使用了管道,开辟了一个新的shell进程,这个进程对变量的修改不会反映到外层
如果只是简单的统计关键字数目,可以这样:
grep -c xxx xxxx.log