awk-语法深入-记录、字段分隔符

本文深入探讨awk编程语言中关于记录和字段分隔符的概念,讲解如何利用awk处理文本数据,包括自定义字段分隔符和处理多字段记录的方法,帮助提升shell脚本处理文本的效率。
摘要由CSDN通过智能技术生成


  awk规定,对于文本文件,默认情况下,一条记录对应一行,即记录之间的默认分隔符是换行符;而一条记录又可以分为多个字段,默认字段分隔符为空格。
   输入记录分隔符变量:RS(record sign)
   输出 记录分隔符变量:ORS(output record sign)
   字段分隔符变量:FS(field sign)
   输出 字段分隔符变量:OFS(output field sign)
1.一条记录占多行(多行记录)
  有些情况下:一条记录跨越多行,记录与记录之间使用非换行符。这种情况下需要修改记录分隔符变量RS,RS告诉awk当前记录什么时候结束。
  例如:
     BEGIN {
        FS="\n"   // 将字段分隔符设为换行符,一个字段占一行
        RS=""     // 将记录分隔符设为空白行,记录之间由空白行分隔
       }

2.OFS 和 ORS
 输出字段分隔符(OFS),默认为单个空格" ",可以修改OFS变量,制定输出字段之间的分隔符。
 eg.
  
  
  
  1.  print "hello',"there","jim"
  // 输出为 hello there jim,这里的逗号仅告诉awk:"helo" "there" "jim"是三个单独的字段,输出字段之间的分隔符仍是默认的OFS-空格.
要使用逗号来区分输出的字段,如下:
   
   
   
  1.  BEGIN {
  2.     FS="\n"
  3.     RS=""
  4.     OFS="," // 将输出字段分隔符设置为逗号
  5.  }   

 输出记录分隔符(ORS),默认为换行(\n),也可自定义。
   
   
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值