了解awk命令在传递文件内容时的用法

时间:2018-06-09 08:03:27

标签: linux bash awk

cat LIST.txt | awk 'BEGIN { print "POSTNT" ;} { print "NT Id= \""$1"\" id=\""$2"\" "}' | abc

只是为了让每个人都知道:

此处$1实际上是cat LIST.txt的第一列,$2是该文件的第二列。列应该是制表符分隔的。这不是一个问题,而是一个信息。

1 个答案:

答案 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的用途。