2016-05-25 2 views
-1

я бег следующего AWK сценарияAWK - удалить новую строку после печати всех столбцов

awk 'BEGIN { FS="|" ; OFS="|" }; { printf $0, $1 "_" $2 }' .someFile 

Unfortunatley в concatention полей 1 и 2 печатаются на новой линии, выглядит как последнее поле содержит символ новой строки

Как я могу обрезать его?

+0

Пожалуйста, прочтите [просить] и сделать, как это предполагает. –

ответ

0

Если вы хотите использовать printf (который может быть случайным), я думаю, вы можете использовать это:

awk 'BEGIN { FS = OFS = "|" } { printf "%s%s%s_%s", $0, OFS, $1, $2 }' .someFile 

printf всегда следует использовать со строкой формата. printf не добавляет выходной разделитель записи в конец того, что он печатает, поэтому вы должны сделать это самостоятельно, используя \n в строке формата или добавив %s и передав ORS в качестве последнего аргумента printf.

В этом случае, я думаю, вы можете просто использовать print хотя:

awk 'BEGIN { FS = OFS = "|" } { print $0, $1 "_" $2 }' .someFile 
Смежные вопросы