[awk] 内容替换一题

2230阅读 0评论2013-08-08 mercuyr
分类:LINUX

文件一内容
$ cat a
name: xxx
xxoo
name: xxx
xxoo
xxoo
name: xxx
xxoo
xxoo
xxoo
name: xxx


文件二内容
$ cat b
name: 123 
ooxx
name: 456
ooxx
ooxx
name: 789
ooxx
ooxx
ooxx
wasd
sdf
name: 666

想把文件一中name后面的xxx 用文件二中name后面的数字替换, 文件一其他内容不变




$ awk 'NR==FNR&&/^name:/{a[++c]=$2}NR!=FNR{if(/^name:/)$2=a[++b];print}' b a
$ awk 'NR==FNR{if (/name:/)a[++i]=$2;next}/name:/{$2=a[++j]}1' b a

原贴: 

上一篇:完全awesome桌面配置
下一篇:解决win7 突然不能更新的问题