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