我有一个文件,其中包含许多由选项卡分隔的字段。我试图打印除第一个列以外的所有列,但只想在一个带有AWK的列中全部打印。文件格式为Awk:打印未确定数量的列
col 1 col 2 ... col n
一行至少有2列。
样品
2012029754 901749095
2012028240 901744459 258789
2012024782 901735922
2012026032 901738573 257784
2012027260 901742004
2003062290 901738925 257813 257822
2012026806 901741040
2012024252 901733947 257493
2012024365 901733700
2012030848 901751693 260720 260956 264843 264844
所以我想告诉awk将打印列2到列n对于n大于2,但不打印空白行当存在该行的列N无信息,尽在一列如下。
901749095
901744459
258789
901735922
901738573
257784
901742004
901738925
257813
257822
901741040
901733947
257493
901733700
901751693
260720
260956
264843
264844
这是我第一次用awk,所以大家多多包涵。我写这个命令行其工作原理:
awk '{i=2;
while ($i ~ /[0-9]+/)
{
printf "%s\n", $i
i++
}
}' bth.data
它比问一个问题,无论是在AWK做这样的事情的正确方法还是有做的更好/更短的方式更多的是寻求批准的它。
请注意,实际的输入文件可能是数百万行。
谢谢
我有点困惑你期望输出什么,你能给你显示的输入提供一些示例输出吗?您是否尝试跳过第1列并打印其他所有内容? – Levon 2012-08-08 23:24:44
因此,'cut -f 2-bth.data'不会做你想要的吗? – Neil 2012-08-08 23:25:16
更新了问题。 – Hameed 2012-08-08 23:25:39