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

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-07-24 17:55:37

| | | |
[] [] [] [] []
  [已解决] 本主题悬赏 可用积分 5  

圣骑士




CU编号: 735950
注册:2008-7-28
最后登录: 2009-07-24
帖子:
精华:0







状态:...在线...

[] [] [博客]


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

各位好!

     小弟想实现这样一个功能。请见下面。

      文件1.txt
         HOST
         中国
          美国
      
   
     文件变成

      HOST 中国
      HOST 美国

     请大师指教。



您对本贴的看法:
| | |

大天使



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







状态:...在线...

[] [] [博客]


[]     顶部
     最佳答案 
发表于 2009-7-24 17:11 

awk '/HOST/{v=$1;next}{print v,$1}' file

HOST可以改为正则



您对本贴的看法:

__________________________________

shell新手&&awk新手
http://blog.chinaunix.net/u3/91453/


| | |
  帅哥
精灵使



荣誉会员  
CU编号: 51102
注册:2003-4-9
最后登录: 2009-07-24
帖子:
精华:0







来自:北京、深圳
状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-24 17:15 

awk 'NR==1{a=$1}NR>1{print a,$0}' urfile



您对本贴的看法:

__________________________________

IBM Certified Advanced DBA for DB2 UDB V8

我的博客: http://blog.chinaunix.net/index.php?blogId=739
欢迎访问,并请多多批评指正。
| | |
  帅哥 (黑哥)
精灵使



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







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-24 17:16 

回复 #1 Aiho 的帖子

不只是几行数据吧?
try:

CODE:
awk '$1 ~ /^[A-Z]/{h=$1;next}{print h,$1}' file1




您对本贴的看法:

__________________________________

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


| | |

大天使



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







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-24 17:18 

猜猜看,可能是这样的需求

CODE:
[root@Mylinux tmp]# cat file
192.168.0.1
      中国
      美国
192.168.0.2
      英国
      法国
[root@Mylinux tmp]# awk '/192.168.0.[0-9]/{v=$1;next}{print v,$1}' file
192.168.0.1 中国
192.168.0.1 美国
192.168.0.2 英国
192.168.0.2 法国




您对本贴的看法:

__________________________________

shell新手&&awk新手
http://blog.chinaunix.net/u3/91453/


| | |

圣骑士




CU编号: 735950
注册:2008-7-28
最后登录: 2009-07-24
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-24 17:28 



QUOTE:
原帖由 ywlscpl 于 2009-7-24 17:18 发表
猜猜看,可能是这样的需求
[root@Mylinux tmp]# cat file
192.168.0.1
      中国
      美国
192.168.0.2
      英国
      法国
[root@Mylinux tmp]# awk '/192.168.0.[0-9]/{v=$1;next}{print v,$1} ...

请大侠指教awk '/192.168.0.[0-9]/{v=$1;next}{print v,$1}' file 中的{v=$1;next}是什么意思啊



您对本贴的看法:
| | |

大天使



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







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-24 17:29 

v=$1  把字段1赋值给变量v
next  跳到下一行(后面的{print v,$1}则不会执行了)



您对本贴的看法:

__________________________________

shell新手&&awk新手
http://blog.chinaunix.net/u3/91453/


| | |

圣骑士




CU编号: 735950
注册:2008-7-28
最后登录: 2009-07-24
帖子:
精华:0







状态:...在线...

[] [] [博客]


[]     顶部
发表于 2009-7-24 17:37 



QUOTE:
原帖由 ywlscpl 于 2009-7-24 17:29 发表
v=$1  把字段1赋值给变量v
next  跳到下一行(后面的{print v,$1}则不会执行了)

非常感谢



您对本贴的看法:

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