awk命令RS FS ORS OFS的区别


awk 认为文件中的每一行是一条记录 记录与记录的分隔符为换行符

 
                每一列是一个字段 字段与字段的分隔符默认为空格


RS为输入记录分隔符(行分隔符)
FS为输入字段分隔符号(列分隔符)
ORS、OFS为相对应的输出分隔符O=out嘛


举例:
cat abc.txt
RealMan hsss
123*cccc
12345678
beijing


awk 'BEGIN{RS=""}{print $0}' abc.txt
RealMan hsss
123*cccc
12345678
beijing
因为已经从新分割换行了,所有$0是错误的,所有会打印所有原来的格式


awk 'BEGIN{RS=""}{print $1,$2,$3,$4}' abc.txt


RealMan hsss\n
123*cccc\n 
12345678\n     >>>>>>>>>>             RealMan hsss 123*cccc 12345678
beijing\n                                   


因为原来的文本里第一行有空格,而FS默认是FS=“”分割的,所以$1是RealMan,$2是hsss


awk 'BEGIN{RS="";FS="\n"}{print $1,$2,$3,$4}' abc.txt
RealMan hsss 123*cccc 12345678 beijing
行以“”分割,列以原来的“\n”分割


awk 'BEGIN{RS="";FS="\n";ORS="***"}{print $1,$2,$3,$4}' abc.txt
RealMan hsss 123*cccc 12345678 beijing***
ORS即在行尾把“\n”改成***


awk 'BEGIN{RS="";FS="\n";ORS="***";OFS=";"}{print $1,$2,$3,$4}' abc.txt
RealMan hsss;123*cccc;12345678;beijing***

OFS即在每列分隔符改成“;”



















  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撸依天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值