首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

询问一个简单的循环累加的有关问题

2012-06-15 
询问一个简单的循环累加的问题linux bashcount0cat xxxx.log | grep xxx | while read LINEdocount$((co

询问一个简单的循环累加的问题
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

热点排行