LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1212|回复: 3

关于shell文件处理

[复制链接]
发表于 2007-1-18 18:01:18 | 显示全部楼层 |阅读模式
有这样一个文件
HHHHH 0003
TTTTT111110000000
HHHHH 0004
TTTTT111110000000
HHHHH 0005
TTTTT111110000000
现在要求取得以TTTTT开头的行中的位置从第6到第10个的数据,也就是11111,并且计算它们的和,然后添加在最后一行,写不出来得,求各位大虾帮帮忙
发表于 2007-1-18 20:33:56 | 显示全部楼层
也就是11111,并且计算它们的和

这个不太明白,
我假设是把11111当成一个数, 计算所有这些数的和:

  1. mawk 'BEGIN{FS="";a=0}
  2. /^TTTTT/{a+=$6$7$8$9$10}
  3. END{print a >> FILENAME}' 文件名
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-1-18 21:00:54 | 显示全部楼层
  1. #!/bin/bash
  2. sum=0
  3. for str in `sed -n -e '/^aaaaa/p' $1`;do
  4.         value="10#${str:5:5}"
  5.         sum=$((sum+$value))
  6. done
  7. echo $sum
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-19 15:05:26 | 显示全部楼层
多谢,我用了个while循环,已经搞定
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表