【linux】Shell脚本三剑客之awk命令的详细用法攻略
awk
是一种处理文本的强大工具,可用于生成报告、修改文本文件等。以下是awk
的一些常用用法和示例:
- 基本用法:
awk '{print $1}' filename # 打印文件中每行的第一个字段
- 修改字段分隔符:
awk -F: '{print $1}' /etc/passwd # 以冒号为分隔符打印/etc/passwd中的用户名
- 条件判断:
awk -F: '$3 > 500 {print $1}' /etc/passwd # 打印/etc/passwd中UID大于500的用户名
- 循环:
awk -F: '{for (i=1; i<=NF; i++) print $i}' /etc/passwd # 打印/etc/passwd中每个字段
- 自定义分隔符:
awk -v FS=':' '{print $1}' /etc/passwd # 以冒号为分隔符打印/etc/passwd中的用户名
- 多模式匹配:
awk '/root/,/lp/' /etc/passwd # 打印包含"root"到"lp"之间的行
- 数组操作:
awk -F: '{users[$1]+=1} END {for (user in users) print user, users[user]}' /etc/passwd # 统计/etc/passwd中每个用户出现的次数
- 函数:
awk 'function absval(x) {return (x < 0) ? -x : x} {print absval($1)}' filename # 打印文件中每行的第一个字段的绝对值
这些是awk
的基本用法和示例,实际使用中可以根据需要进行复杂的文本处理。
评论已关闭