ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [Shell] awk FS,OFS,RS,ORS

[Shell] awk FS,OFS,RS,ORS

原创 Linux操作系统 作者:tolilong 时间:2016-03-23 13:18:05 0 删除 编辑
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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24237320/viewspace-2062456/,如需转载,请注明出处,否则将追究法律责任。

下一篇: [Shell] awk sub,gsub
请登录后发表评论 登录
全部评论

注册时间:2010-07-13

  • 博文量
    406
  • 访问量
    1009854