Как насчет использования printf
вместо этого, поскольку print
добавляет новую строку.
awk '{printf("%d, %d, %d, ", 22, $1, NR); for(i=2;i<=NF;++i) printf("%d, ", i)}' file
Или вы можете играть с ORS
и OFS
, Разделителем выходных записей и Разделитель выходного поля .Обычно вы добавляете их в оператор BEGIN
следующим образом:
awk 'BEGIN { ORS = " " } {print 22, $1, NR; for(i=2;i<=NF;++i) print $i}{print "\n"}' file
Обратите внимание, что требуется дополнительный printf "\n"
, иначе все заканчивается одной строкой ...
Подробнеев разделители ручного вывода gawk