首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux-更改两个awk脚本之间的行。

问Linux-更改两个awk脚本之间的行。
EN

Stack Overflow用户
提问于 2013-08-08 23:55:51
回答 1查看 61关注 0票数 1

我有两个awk脚本要在Linux中运行。每条线的输出都是一行。如何将这两个输出分成两行?

例如:

代码语言:javascript
复制
awk '{printf $1}' f.txt >> a.txt
awk '{printf $3}' f.txt >> a.txt

第一个脚本的输出是:

代码语言:javascript
复制
35 56 40 28 57

第二个产出是:

代码语言:javascript
复制
29 48 73 26

如果我一个接一个地运行它们,输出将变成:

代码语言:javascript
复制
35 56 40 28 57 29 48 73 26

是否有任何方法可以得到以下结果:

代码语言:javascript
复制
35 56 40 28 57
29 48 73 26

谢谢!~

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-09 00:24:22

虽然我不明白如何以这样的方式获得字段之间的空格,但是可以在第一个脚本中添加一个END语句:

代码语言:javascript
复制
awk '{printf $1} END{print "\n"}'

您还可以使用一个awk命令来完成这一任务:

代码语言:javascript
复制
awk -v ORS=" " 'BEGIN{ARGV[ARGC++] = ARGV[1]; i = 1 } 
                NR!=FNR && FNR==1 { printf "\n"; i=3 } 
                { print $i } 
                END { printf "\n" }' f.txt
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18138176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档