Chinaunix

标题: 关于awk换行符 [打印本页]

作者: hl791708501    时间: 2017-06-19 18:14
标题: 关于awk换行符
  下面是a文件内容:
    HU23
    测试1
    HU24
    测试2

想输出结果:
   HU23      测试1
   HU24      测试2




求大牛支招,非常感谢!


作者: haooooaaa    时间: 2017-06-19 19:26
  1. awk '{printf NR%2?$0" ":$0"\n"}'
复制代码

作者: ll104567    时间: 2017-06-19 21:33
root@lp:~/lp# cat file
HU23
测试1
HU24
测试2
root@lp:~/lp#
root@lp:~/lp#
root@lp:~/lp# cat file|awk 'NR%2{printf $0" ";next}1'
HU23 测试1
HU24 测试2

作者: hl791708501    时间: 2017-06-20 09:48
回复 2# haooooaaa

非常感谢2位大神点拨
作者: hl791708501    时间: 2017-06-20 14:36
回复 2# haooooaaa

大神思路非常准确但是我出现了这个情况是什么原因呢?
  1. [root@localhost ~]# cat 3
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <main>
  4.   <issue>
  5.     <ID>4947</ID>
  6.     <PROGA><ID>HU23</ID></PROGA>
  7.     <text>测试1</text>
  8.     <updated_on>Thu Dec 24 16:38:13 +0800 2015</updated_on>
  9.   </issue>

  10.   <issue>
  11.     <ID>2347</ID>
  12.     <PROGA><ID>HU24</ID></PROGA>
  13.     <text>测试2</text>
  14.     <updated_on>Thu Dec 24 16:38:13 +0800 2015</updated_on>
  15.   </issue>
  16. </main>
  17. [root@localhost ~]# cat 3|awk '/PROGA/||/text/{printf NR%2?$0" ":$0"\n"}'
  18.     <PROGA><ID>HU23</ID></PROGA>     <text>测试1</text>
  19.     <PROGA><ID>HU24</ID></PROGA>
  20.     <text>测试2</text> [root@localhost ~]#
  21. [root@localhost ~]#
复制代码



作者: hl791708501    时间: 2017-06-20 14:36
回复 2# haooooaaa

大神思路非常准确但是我出现了这个情况是什么原因呢?
  1. [root@localhost ~]# cat 3
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <main>
  4.   <issue>
  5.     <ID>4947</ID>
  6.     <PROGA><ID>HU23</ID></PROGA>
  7.     <text>测试1</text>
  8.     <updated_on>Thu Dec 24 16:38:13 +0800 2015</updated_on>
  9.   </issue>

  10.   <issue>
  11.     <ID>2347</ID>
  12.     <PROGA><ID>HU24</ID></PROGA>
  13.     <text>测试2</text>
  14.     <updated_on>Thu Dec 24 16:38:13 +0800 2015</updated_on>
  15.   </issue>
  16. </main>
  17. [root@localhost ~]# cat 3|awk '/PROGA/||/text/{printf NR%2?$0" ":$0"\n"}'
  18.     <PROGA><ID>HU23</ID></PROGA>     <text>测试1</text>
  19.     <PROGA><ID>HU24</ID></PROGA>
  20.     <text>测试2</text> [root@localhost ~]#
  21. [root@localhost ~]#
复制代码



作者: WilliBhamlll    时间: 2017-06-20 15:31
回复 6# hl791708501

想当然了。。。
  1. awk '/PROGA/{getline t;print $0,t}' file
复制代码



作者: WilliBhamlll    时间: 2017-06-20 15:31
回复 6# hl791708501

想当然了。。。
  1. awk '/PROGA/{getline t;print $0,t}' file
复制代码



作者: hl791708501    时间: 2017-06-20 15:38
回复 8# WilliBhamlll

大神,能不能详细解答一下
作者: WilliBhamlll    时间: 2017-06-20 15:42
回复 9# hl791708501

我不是大神。。。
man awk

getline var           Set var from next input record; set NR, FNR, RT.



作者: 本友会机友会摄友会    时间: 2017-06-20 16:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: hl791708501    时间: 2017-06-21 11:56
回复 11# 本友会机友会摄友会

好吧,估计没看到额




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2