免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1635 | 回复: 2

[文本处理] 我要统计目标目录下所有的文本的行数,可是出现了下面的问题 [复制链接]

论坛徽章:
0
发表于 2012-07-19 10:25 |显示全部楼层
#!/bin/bash
set -x
total_line=""
find -name "*_c_net" | while read line
do
         if [ ${#line} == 19 ]; then
                  country=${line:8:2}
               
                  file_line=`wc -l c_net/${country}/${country}_c_net | awk '{print $1}'`
                  echo  "$country has $file_line lines ."
                  total_line=$((total_line+file_line))
        fi
done
echo "total lines: ${total_line}"

total lines的值为空,我猜想因为作用域的原因,所以在while循环外的total lines还是初始值,但是怎么解决就不知道了,请大家指教

论坛徽章:
0
发表于 2012-07-19 10:31 |显示全部楼层
回复 1# g_programming


      if [ ${#line} == 19 ]; then

这句话什么意思啊? 我感觉你的这个if就没有走啊
你在  then 下面echo一下看看哈

论坛徽章:
0
发表于 2012-07-19 11:56 |显示全部楼层
回复 2# jazeltq


    这个是判断该目录下的文件的长度是否符合规则,不符合规则的就不统计,我打印过 里面是有输出的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP