如何提取包含特定职业的行中首个逗号前的姓名内容?
提取匹配特定职业的人员姓名
你可以通过指定逗号为字段分隔符,让awk精准识别每一列,然后只输出符合条件行的第一列(姓名),具体命令分两种场景:
精准匹配职业(推荐)
如果要严格匹配职业字段完全等于barrister,避免误匹配到职责里的相似内容,用这个命令:
awk -v val="barrister" -F ',' '$2 == val {print $1}' Occupation.txt
各参数说明:
-F ',':将每行内容按逗号分割成独立字段$2 == val:判断第二字段(职业)是否等于设定的目标值{print $1}:满足条件时,输出第一字段(姓名)
模糊匹配(包含关键词即可)
如果需要匹配整行中任何位置包含barrister的行(比如职业字段是senior barrister这类变体),可以保留原匹配逻辑,同时添加字段分隔和打印第一列:
awk -v val="barrister" -F ',' '$0 ~ val {print $1}' Occupation.txt
内容的提问来源于stack exchange,提问作者Serp
相关产品推荐
相关产品推荐

