-
clouder@server2-47:/tmp/1019> echo '1a2a3a4a5' | awk 'BEGIN{RS="a"}{print $0}'
-
1
-
2
-
3
-
4
-
5
-
-
clouder@server2-47:/tmp/1019> echo '1a2a3a4a5' | awk 'BEGIN{RS="a"}{print $1}'
-
1
-
2
-
3
-
4
-
5
- clouder@server2-47:/tmp/1019>
为什么print $0 比print $1多一个空行?
指定RS=“a”后 1a2a3a4a5\n被拆分成5条record
record 1 $0为 1
record 2 $0为 2
record 3 $0为 3
record 4 $0为 4
record 5 $0为 5\n
awk执行到record 5时,ORS="\n",于是print $0 就变成了5\n\n ,所以多了一个空行
awk执行到record 5时,ORS="\n",于是print $1 就变成了5\n