欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

awk命令详解

程序员文章站 2022-04-29 14:06:23
awk命令是一个行处理命令,每次读取一行,然后进行处理,可以一次处理多个文件 awk命令格式: 分割符: F: , F ':', F '[.,/]' 三种方式都可以 awk命令内置变量: $n:一行的第n个字段 $0:一行的全部内容 ARGC:命令行的参数个数 ARGV:命令行参数的数组 CONVF ......

awk命令是一个行处理命令,每次读取一行,然后进行处理,可以一次处理多个文件

awk命令格式:

awk [-F|-f|-v] ‘BEGIN{} {command1; command2} END{}’ file1 file2 ...

分割符:-F: , -F ':',-F '[.,/]' 三种方式都可以

awk命令内置变量:

  • $n:一行的第n个字段
  • $0:一行的全部内容
  • ARGC:命令行的参数个数
  • ARGV:命令行参数的数组
  • CONVFMT:数字转换格式(默认值为%.6g)ENVIRON环境变量关联数组
  • ERRNO:最后一个系统错误的描述
  • FIELDWIDTHS:字段宽度列表(用空格键分隔)
  • FILENAME:文件名
  • FNR :各文件分别计数的行号
  • FS:字段分隔符(默认是任何空格)
  • IGNORECASE:忽略大小写的匹配
  • NF:字段个数
  • NR:处理的行数
  • OFMT:数字的输出格式(默认值是%.6g)
  • OFS :字段输出分隔符
  • ORS:行输出分隔符
  • RLENGTH:由match函数所匹配的字符串的长度
  • RS:记录分隔符(默认是一个换行符)
  • RSTART:由match函数所匹配的字符串的第一个位置
  • SUBSEP:数组下标分隔符(默认值是/034)

    例子

    输出第一行:awk -F ":" 'NR==1{print }' /etc/passwd
    输出最后一行:awk -F ":" 'END{print }' /etc/passwd