免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1582 | 回复: 6
打印 上一主题 下一主题

如何读入几列输出成一行,在线等。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-08 17:30 |只看该作者 |倒序浏览
如下文本,4行一次循环,每4行中首部分都是相同的,如m= db= cr= vho= 等等。
m=0506
db=12.5
cr=
vho=1e00
m=0508
db=
cr=22.22
vho=1sww
m=0512
db=99.89
cr=
vho=1ppp




想成为这种输出:
0506 12.5 1e00
0508 22.22 1sww
0512 99.89 1ppp
.
.
.
.

论坛徽章:
0
2 [报告]
发表于 2005-04-08 17:35 |只看该作者

如何读入几列输出成一行,在线等。

本页好象已经有了同样的问题了, 去看看

论坛徽章:
0
3 [报告]
发表于 2005-04-08 18:05 |只看该作者

如何读入几列输出成一行,在线等。

谢谢,xargs能具体讲解一下么?

论坛徽章:
0
4 [报告]
发表于 2005-04-08 18:30 |只看该作者

如何读入几列输出成一行,在线等。

sed+awk也可以呀

sed '$!N;N;N;s/\n/#/g' file|nawk 'BEGIN{FS="#|="}{print $2,$4,$6,$8}'

论坛徽章:
0
5 [报告]
发表于 2005-04-08 18:31 |只看该作者

如何读入几列输出成一行,在线等。

cat file |xargs -n4 |nawk 'BEGIN{FS=" |="}{print $2,$4,$6,$8}'

论坛徽章:
0
6 [报告]
发表于 2005-04-08 23:36 |只看该作者

如何读入几列输出成一行,在线等。

试试这个:
nawk 'BEGIN { FS = "=" }{
    if( NR % 4 != 0)
        printf("%s ", $2)
    else
        printf("%s\n", $2)
}' filename

在unix下通过。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2005-04-09 01:06 |只看该作者

如何读入几列输出成一行,在线等。


  1. xargs -n4 <file|sed 's/[a-z]\{1,\}=//g'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP