设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
关于shell文件处理
返回列表
查看:
1212
|
回复:
3
关于shell文件处理
[复制链接]
duckliao
duckliao
当前离线
积分
6
IP卡
狗仔卡
发表于 2007-1-18 18:01:18
|
显示全部楼层
|
阅读模式
有这样一个文件
HHHHH 0003
TTTTT111110000000
HHHHH 0004
TTTTT111110000000
HHHHH 0005
TTTTT111110000000
现在要求取得以TTTTT开头的行中的位置从第6到第10个的数据,也就是11111,并且计算它们的和,然后添加在最后一行,写不出来得,求各位大虾帮帮忙
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
lastart
lastart
当前离线
积分
913
IP卡
狗仔卡
发表于 2007-1-18 20:33:56
|
显示全部楼层
也就是11111,并且计算它们的和
这个不太明白,
我假设是把11111当成一个数, 计算所有这些数的和:
mawk 'BEGIN{FS="";a=0}
/^TTTTT/{a+=$6$7$8$9$10}
END{print a >> FILENAME}' 文件名
复制代码
回复
支持
反对
使用道具
举报
显身卡
Iambitious
Iambitious
当前离线
积分
339
IP卡
狗仔卡
发表于 2007-1-18 21:00:54
|
显示全部楼层
#!/bin/bash
sum=0
for str in `sed -n -e '/^aaaaa/p' $1`;do
value="10#${str:5:5}"
sum=$((sum+$value))
done
echo $sum
复制代码
回复
支持
反对
使用道具
举报
显身卡
duckliao
duckliao
当前离线
积分
6
IP卡
狗仔卡
楼主
|
发表于 2007-1-19 15:05:26
|
显示全部楼层
多谢,我用了个while循环,已经搞定
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Debian Linux
Archlinux讨论区
Linux 输入开发与研究
BSD 讨论专题
LFS(LinuxfromScratch)
Linux 基础讨论区(新手速成)
开源软件专题讨论
硬件设备 Linux 驱动
服务器架设、应用、维护
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表