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 или есть лучший/более короткий способ сделать это.

Обратите внимание, что фактический входной файл может состоять из миллионов строк.

Спасибо

6
задан Hameed 8 August 2012 в 23:37
поделиться