在 awk 输出中维护分隔符

Maintaining the separator in awk output

我想对文件进行子集化,同时在 bash 中使用“awk”将分隔符保留在子集化输出中。

这就是我正在使用的:

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

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中的代码:

awk {'print   '} inp.txt

结果:

AX-11125

AX-22456

AX-333445

请注意,我的列已合并到 awk 输出中(我希望它作为输入文件以制表符分隔)。可能这是一个简单的语法问题,但如果有任何想法,我将不胜感激。

使用

awk -v OFS='\t' '{ print , ,  }'

awk '{ print  "\t"  "\t"  }'

一个接一个地写,中间没有运算符,awk 中的变量是串联的 - 在这方面与 </code> 没有什么不同。</p> <p>第一个解决方案将输出字段分隔符 <code>OFS 设置为制表符,然后使用逗号运算符打印分隔字段。第二种解决方案只是直接在其中撒上制表符,所有内容都像以前一样连接起来。