当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 各位高手快来帮我看看这样的文本要如何处理?
帖子发表于 : 2009-07-15 9:48 

注册: 2008-03-22 1:19
帖子: 45
送出感谢: 0 次
接收感谢: 0 次
如题,file01内容如下:
STD
abc kkk
889.33 64.36
def 888
2000089

文件2:file02内容如下:
889.330 63.360 2000011
999.118 64.289 2000015
746.167 30.457 1860089
....
....现在需要做的是提取file01中的第三行:889.33 64.36 与file02中的内容进行搜索并找出满足有889.33和64.36的行. 并将匹配到的行的第三列值:2000011替换到file01中的第五行去.即用2000011替换2000089
因为类似file01的文件有很多,但格式是一样的,只要进行跟file02的内容进行匹配就可以.需要用到循环.
在这恳请各位大侠帮帮忙看看,先谢过了.


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 各位高手快来帮我看看这样的文本要如何处理?
帖子发表于 : 2009-07-15 10:27 
头像

注册: 2007-09-03 18:34
帖子: 273
地址: 羊城通
送出感谢: 0 次
接收感谢: 0 次
代码:
yingfei@~$ cat a
STD
abc kkk
889.33 64.36
def 888
2000089

yingfei@~$ cat b
889.330 64.360 2000011
999.118 64.289 2000015
746.167 30.457 1860089

yingfei@~$ STR=$(grep "`awk '(NR==3){printf "%.03f %.03f",$1,$2}' a`" b | awk '{print $3}'); sed -i -e "5s/.*/$STR/" a
yingfei@~$ cat a
STD
abc kkk
889.33 64.36
def 888
2000011

yingfei@~$


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 各位高手快来帮我看看这样的文本要如何处理?
帖子发表于 : 2009-07-15 10:51 

注册: 2008-03-22 1:19
帖子: 45
送出感谢: 0 次
接收感谢: 0 次
呵呵,太感谢了,我看看


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 各位高手快来帮我看看这样的文本要如何处理?
帖子发表于 : 2009-07-15 10:56 
头像

注册: 2007-09-03 18:34
帖子: 273
地址: 羊城通
送出感谢: 0 次
接收感谢: 0 次
把 a 换成你的 file01 把 b 换成你的 file02
要循环的话就

代码:
for  F  in  file* ; do
STR=$(grep "`awk '(NR==3){printf "%.03f %.03f",$1,$2}'   $F`"   file_02  | awk '{print $3}')
sed -i -e "5s/.*/$STR/"   $F
done


要求sed版本要支持 -i 参数. 早期的 Unix系统中 Sed 不支持这个参数的。这时可以考虑用 perl.


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 各位高手快来帮我看看这样的文本要如何处理?
帖子发表于 : 2009-07-15 10:56 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
lol 这都有人帮忙。不错。

似乎这不具备通用性的事情,通常自己写脚本了。


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 各位高手快来帮我看看这样的文本要如何处理?
帖子发表于 : 2009-07-15 10:58 
头像

注册: 2007-09-03 18:34
帖子: 273
地址: 羊城通
送出感谢: 0 次
接收感谢: 0 次
晕的 怎么老连接不上, 害我提交多次, 严重影响RP。。。
请版主删除。。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 各位高手快来帮我看看这样的文本要如何处理?
帖子发表于 : 2009-07-15 11:21 
头像

注册: 2007-06-13 15:57
帖子: 12566
地址: 在他乡
送出感谢: 50
接收感谢: 87
:em09


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译