cat LIST.txt | awk 'BEGIN { print "POSTNT" ;} { print "NT Id= \""$1"\" id=\""$2"\" "}' | abc
只是为了让每个人都知道:
此处$1
实际上是cat LIST.txt
的第一列,$2
是该文件的第二列。列应该是制表符分隔的。这不是一个问题,而是一个信息。
答案 0 :(得分:1)
你的命令,
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
的用途。