Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2072663
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-07-27 13:34:20

[] [] [] [] []

新手



CU编号: 806723
注册:2009-2-3
最后登录: 2009-07-27
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-27 11:27 

我想用一个文件的第二列替换另外一个文件的第三列,用sed怎么实现?求救高手



您对本贴的看法:
| | |
  帅哥 (黑哥)
精灵使



CU编号: 631768
注册:2007-10-22
最后登录: 2009-07-27
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-27 11:40 

回复 #1 piaoxifengxiaoe 的帖子

这个用awk比较方便,用sed比较麻烦。



您对本贴的看法:

__________________________________

LIVE FREE OR DIE!     K.I.S.S.


| | |
  帅哥
天使



CU编号: 75493
注册:2003-7-25
最后登录: 2009-07-27
帖子:
精华:0







来自:Hangzhou
状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-27 11:56 



CODE:
awk 'FILENAME=="b"{a[FNR]=$2}FILENAME=="a"{printf $1" "$2" "a[FNR];for(i=4;i<=NF;i++)printf " "$i;printf "\n"}' b a

用b的第二列替换a的第三列



您对本贴的看法:
| | |
  帅哥 (☭)
风云使者
斗战胜佛(Linux初学者)



CU编号: 748015
注册:2008-8-19
最后登录: 2009-07-27
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-27 11:57 



CODE:
[root@lsmqy ~]# cat 1.txt
a cat
[root@lsmqy ~]# cat 2.txt
this a dog
[root@lsmqy ~]# awk -v v1=$(awk '{print $2}' 1.txt) -v v2=$(awk '{print $3}' 2.txt) '{gsub(v2,v1); print}' 2.txt
this a cat

用1.txt的第二列替换2.txt的第二列



您对本贴的看法:

__________________________________


打倒“五毛党”
| | |

新手



CU编号: 806723
注册:2009-2-3
最后登录: 2009-07-27
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-27 13:08 

先谢谢各位了,我试试先....



您对本贴的看法:
| | |

新手



CU编号: 806723
注册:2009-2-3
最后登录: 2009-07-27
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-27 13:20 

用四楼的报错:(其中43670003为1.txt的第一行的第二列)
awk: 不能找到或打开文件 43670003。
源行号是 1

莫非我的版本不对?



您对本贴的看法:
| | |

» » »

阅读(787) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~