awk程序

awk程序

  • awk提供了一种编程语言,在编程语言内部,可以:

  • 定义要保存数据的变量。

  • 使用算术和字符串操作符对数据进行运算。
  • 使用结构化编程概念,例如if-then语句和循环,将逻辑天价到数据处理过程。
  • 通过从数据文件内抽取数据元素以及按照其他顺序或格式对它们重定位,生成带格式的报告。
  • awk命令格式:awk options program file
  • awk选项
选项描述
-F fs指定描绘一行中数据字段的文件分隔符
-f file指定读取程序的文件名
-v var=value定义awk程序中使用的变量和默认值
-mf N指定数据文件中要处理的字段的最大数目
-mr N指定数据文件中最大记录大小
-W keyword指定awk的兼容模式或警告级别
  • awk程序脚本由左大括号和右大括号定义。脚本命令必须放在两个大括号之间,由于awk命令假定脚本是单文本字符串,所以必须将脚本包括在单引号内。e.g:aek '{print "Hello John!"}'
  • awk使用的数据字段变量:

    1. $0表示正行文本
    2. $1表示文本行中的第一个数据字段
    3. $2表示文本行中的第二个数据字段
    4. $n表示文本行中的第n个数据字段
    5. e.g:awk -F: '{print $1}' /etc/passwd
  • 在程序脚本中使用多个命令:要在命令行指定的程序脚本中使用多个命令,只需在各命令行之间加分号:echo "My name is Rich" | awk '{$4="Dave";print $0}'(会替换原文本)

  • awk编辑器允许将程序保存在文件中并在命令行引用它们。e.g:

    实例1
    cat { print $5 "'s userid is " $1}>script2
    awk -F: -f script2 /etc/passwd
    实例2
    cat>script3
    {
    text="'s userid is " #定义一个变量存储print命令使用的文本字符串。
    print $5 text $1
    }(EOF)
    awk -F: -f script3  /etc/passwd | more
  • 使用BEGIN关键字在处理数据之前运行脚本:awk '{print "GoodbyeWorld"} BEGIN {print "HelloWorld"}'#先显示HelloWorld

  • 使END关键字在处理数据之后运行脚本:awk '{print "GoodbyeWorld"} END {print "HelloWorld"}'#先显示GoodbyeWorld
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值