Chinaunix首页 | 论坛 | 博客
  • 博客访问: 380973
  • 博文数量: 109
  • 博客积分: 5045
  • 博客等级: 大校
  • 技术积分: 1199
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-08 14:47
文章分类

全部博文(109)

文章存档

2017年(1)

2012年(5)

2011年(10)

2010年(1)

2009年(13)

2008年(29)

2007年(6)

2006年(44)

我的朋友

分类:

2006-05-16 15:32:21

目标:将数据文件 *.txt 头部的 16/Mar/2006 12:25:07 400 Freq Trace A Trace B 40 7797.551 0 14.65823 0 ...... 将其中的Trace A和Trace B改写成为第二行的数字。 for i in *.txt do j=$(awk 'NR==2 {print $1}' ${i}|col -b) #读取第二行的第一个域即那个数字到变量j中。col -b的作用是过滤掉其中的回车符号 echo ${j} #显示只为好玩和有个进度概念,没什么实际用处 sed -e 3s/Trace\ A/${j}/g ${i} > h${i} sed -e 3s/Trace\ B/${j}/g h${i} > ch${i} #在第三行搜索字串并作替换,因为要替换两个部分所以需要有一个中间文件,不过如果用条件表达式应该可以一次搞定,再说吧,能实现功能就成了。 rm h${i} #删除中间临时文件 done
阅读(2730) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~