awk:以原始格式打印列

标签 awk

我知道这确实是一个天真的问题。我以前知道但忘了怎么做。尝试搜索,但所有答案都非常复杂..找不到我要找的东西,所以请帮助我!

我有一个用制表符分隔的数据,我只想打印 5 个原始列中的 3 列,所以我这样做了:

awk '{print $1 $3 $5}' infile >> outfile

但它破坏了制表符分隔格式。

有人可以提醒我如何做到这一点并仍然保留原始格式吗?

原始数据:

ABC   1   343   122   234
DEF   1   342   122   163
GHI   1   342   643   422

最佳答案

如果你想要制表符分隔的输出

awk  'BEGIN{OFS="\t";} {print $1,$3,$5}' infile >> outfile

关于awk:以原始格式打印列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23251359/

相关文章:

linux - 使用 bash 脚本比较两个文件并打印详细的差异报告

unix - 每行打印一个字

AWK程序求三个州的平均降雨量

unix - 删除基于另一个文件的行

shell - 我写的 shell 脚本有什么问题

regex - 向字符类alnum添加特殊符号

bash - 从文件 B 的列表中删除文件 A 中的所有单词

linux - 如何删除下划线之前和包括下划线的字符?

regex - 用于替换文件中第一次出现的 sed 命令不起作用

regex - awk 中多字符定界符的非贪婪正则表达式匹配