awk -F 是用于指定输入字段分隔符的选项
功能与基本用法
核心作用:-F 定义输入行的字段分隔符,例如 awk -F: '{print $1}' /etc/passwd 以冒号分隔,打印每行第一列(用户名)。
与内部变量 FS 的关系:-F 优先级高于 BEGIN{FS="分隔符"},两者等效但 -F 更简洁;若同时使用,-F 生效。
默认行为:未指定 -F 时,FS 默认为空格或制表符,连续空白视为单个分隔符。
常见示例
基础字段提取:
打印 /etc/passwd 的最后一列:awk -F: '{print $NF}'($NF 表示最后一列)。
以 / 分隔文件路径:awk -F/ '{print $NF}' file.txt。
多分隔符处理:支持正则表达式,如 awk -F':#/' '{print $1}' 同时以 :、#、/ 作为分隔符。
结合条件过滤:提取 UID 大于 1000 的用户:awk -F: '$3>1000 {print $1,$3}' /etc/passwd。