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

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-04-30 11:39:45

file1.txt
-----------------------------
id   name
1      aa
2      bf
3      cs
4      df
5      es
6        ss
:
:
---------------------------
file2.txt
---------------------------
id          path
1             /23/fe
2              /1/cf
3              /13/etc
4             /12/txt
5             /11/tmp
:
:
-----------------------------
求对应的ID的路径表



要求输出如,
output.txt
----------------
id       name          path
:
:
4        df                /12/txt
:
:

限用awk

[ 本帖最后由 udb6688 于 2009-4-29 01:41 编辑 ]



您对本贴的看法:

__________________________________

因为我是菜鸟,所以我要先飞,飞上枝头面对的却是猎人黑洞洞的枪口.

| |
(狼烟)
精灵王
披着狼皮的羊



CU编号: 547805
注册:2007-4-5
最后登录: 2009-04-29
帖子:
精华:0







状态:...离线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 02:11 


CODE:
awk -F"[ \t]+" 'NR==FNR{a[FNR]=$0;f=FNR} NR>FNR{if(FNR in a) a[FNR]=a[FNR]"\t"$2; else a[FNR]=FNR+1"\t\t\t"$2} END{for(i=1;i<=(f>FNR?f:FNR);i++) print a[i]}' file1.txt file2.txt




您对本贴的看法:
| |

天使



CU编号: 347943
注册:2005-12-11
最后登录: 2009-04-30
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 08:24 


CODE:
awk 'NR==FNR{a[$1]=$2}NR>FNR{printf $1"\t";if ($1 in a) print a[$1]"\t"$2;else print "    "$2}' file1.txt file2.txt




您对本贴的看法:

__________________________________

shell新手&&awk新手
我的awk学习笔记
http://blog.chinaunix.net/u3/91453/showart_1798635.html
| |
  帅哥
精灵王




CU编号: 690903
注册:2008-4-13
最后登录: 2009-04-30
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]       顶部
发表于 2009-4-29 08:33 
回复 #1 udb6688 的帖子

[root@Greendays lianshou]# paste file1.txt  file2.txt | awk '{print $1,$2,$4}'
id name path
1 aa /23/fe
2 bf /1/cf
3 cs /13/etc
4 df /12/txt
5 es /11/tmp
6 ss

[ 本帖最后由 greendays 于 2009-4-29 08:35 编辑 ]



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



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







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-4-29 08:52 
awk:

CODE:
awk 'NR==FNR{$1=$1;a[$1]=$0;next}{print a[$1],$2}' file1.txt file2.txt




您对本贴的看法:

__________________________________

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

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