awk编程:从基础到实用技巧
1. awk打印语句基础
awk中的打印语句(print)可以包含零个或多个用逗号分隔的表达式。每个表达式都会被求值,如果需要会转换为字符串,然后在标准输出上输出,各表达式之间由输出字段分隔符(OFS)分隔,最后一个项后面跟着输出记录分隔符(ORS)。例如:
$ echo 'one two three four' | awk '{ print $1, $2, $3 }'
one two three
这里, print 语句打印了输入的前三个字段。
打印语句及其相关的 printf 和 sprintf 的参数列表可以选择性地用括号括起来。当参数列表包含关系运算符时,括号可以消除解析歧义,因为 < 和 > 也用于I/O重定向。
改变输出字段分隔符(OFS)时,如果不赋值任何字段, $0 不会改变。例如:
$ echo 'one two three four' | awk '{ OFS = "\n"; print $0 }'
one two three four
但如果改变OFS并至少赋值一个字段(即使不改变其值),则会用新的字段分隔符重新组装记录:
$ echo
超级会员免费看
订阅专栏 解锁全文
1

被折叠的 条评论
为什么被折叠?



