Ваша команда
cat LIST.txt | awk 'BEGIN { print "POSTNT" ;} { print "NT Id= \""$1"\" id=\""$2"\" "}' | abc
может быть немного улучшена до
awk 'BEGIN { print "POSTNT" } { printf("NT Id=\"%s\" id=\"%s\"\n", $1, $2) }' <List.txt | abc
Это просто избавляет от cat
и также использует printf
вместо print
.При awk
используйте print
для печати отдельных полей, как в
print "some data", $1, $2, "some other data", $4
. При этом будет напечатана запись с пятью полями.Поля будут разделены значением OFS
(по умолчанию пробел), а запись будет завершена значением ORS
(перевод строки по умолчанию).
Здесь, однако, вы форматируетесобственная строка для вывода, для которой используется printf
.