首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >维护awk输出中的分隔符

维护awk输出中的分隔符
EN

Stack Overflow用户
提问于 2016-02-03 13:35:34
回答 1查看 97关注 0票数 0

在使用bash中的‘awk’将分隔符保存在子设置的输出中时,我想对一个文件进行子集。

这就是我所用的:

输入文件是用R语言创建的:

代码语言:javascript
复制
inp <- 'AX-1   1    125  AA  0.2  1 AB -0.89 0 AA 0.005 0.56
        AX-2   2    456  AA  0   0 AA -0.56 0.56 AB -0.003 0
        AX-3   3    3445  BB  1.2  1 NA  0.002 0 AA 0.005 0.55'
inp <- read.table(text=inp, header=F)
write.table(inp, "inp.txt", col.names=F, row.names=F, quote=F, sep="\t")

(因此字段由制表符分隔)

bash中的代码:

代码语言:javascript
复制
awk {'print $1 $2 $3'} inp.txt

结果:

AX-11125 AX-22456 AX-333445

请注意,我的列在awk输出中合并了(我希望它作为输入文件被制表符分隔)。这可能是一个简单的语法问题,但我希望任何想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 13:39:59

使用

代码语言:javascript
复制
awk -v OFS='\t' '{ print $1, $2, $3 }'

代码语言:javascript
复制
awk '{ print $1 "\t" $2 "\t" $3 }'

在它们之间一个接一个地没有运算符的情况下,会将awk中的变量连在一起--在这方面,$1 $2 $3$1$2$3没有什么不同。

第一个解决方案将输出字段分隔符OFS设置为一个选项卡,然后使用逗号运算符打印分隔字段。第二种解决方案就是直接在那里撒标签,所有的东西都像以前一样连在一起。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35178586

复制
相关文章

相似问题

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