FS :是列分隔符,默认是空格
OFS:是输出列的分隔符
RS :是行分隔符,默认是空格
ORS:是输出行的分隔符
[/]# echo "a b c d" | awk '{print $1}'
a
[/]# echo "a b c d" | awk '{print $0}'
a b c d
[/]# echo "a:b:c:d" | awk '{print $1}'
a:b:c:d
[/]# echo "a:b:c:d" | awk 'BEGIN{FS=":"}{print $1}'
a
[/]# echo "a:b:c:d" | awk 'BEGIN{FS=":";OFS="&"}{print $1,$2,$3,$4}'
a&b&c&d
[/]# echo "a:b:c:d" | awk '{print $0}'
a:b:c:d
[/]# echo "a:b:c:d" | awk 'BEGIN{RS=":"}{print $0}'
a
b
c
d
[/]# echo "a:b:c:d" | awk 'BEGIN{RS=":";ORS="****"}{print $0}'
a****b****c****d
将如下内容三行变成一行.
[/tmp/test]# more tt4
miss
18
462000
cat
18
197000
ejob
17
210000
la chapelle
17
49400
[/tmp/test]# awk '{if(NR%3!=0)ORS=",";else ORS="\n"}{print $1}' tt4
miss,18,462000
cat,18,197000
ejob,17,210000
la,17,49400
去除空白行
[/tmp/test]# more tt9
2
4
5
6
7
8
[/tmp/test]# cat tt9 | awk 'BEGIN{RS=""}{print $0}'
2
4
5
6
7
8