【问题标题】:How to find and match an exact string in a column using AWK?如何使用 AWK 查找和匹配列中的精确字符串?
【发布时间】:2022-06-13 17:13:48
【问题描述】:

我在匹配我想使用 awk 在文件中找到的确切字符串时遇到问题。

我有一个名为“sup_groups.txt”的文件,其中包含:
(结构为:“group_name:pw:group_id:user1...”)

adm:x:4:syslog,adm1
管理员:x:1006:adm2,adm12,manuel
ssl-cert:x:122:postgres
ala2:x:1009:aceto,salvemini
conda:x:1011:giovannelli,galise,aceto,caputo,haymele,salvemini,scala,adm2,adm12
adm1Group:x:1022:adm2,adm1,adm3
码头工人:x:998:manuel

现在,我想提取用户列表中包含用户“adm1”的记录并打印第一列(组名),但是您可以看到有一个名为“adm12”的用户,所以当我做这个:

awk -F: '$4 ~ "adm1" {print $1}' sup_groups.txt

输出是:

广告管理
管理员
康达
adm1Group

该命令当然也会打印那些包含字符串“adm12”的记录,但我不想要这些行,因为我只对用户“adm1”感兴趣。

那么,我怎样才能改变这个命令,让它只打印第 1 行和第 6 行(不包括 2 和 5)?

非常感谢你,对不起我的英语不好

【问题讨论】:

  • 您有: 和, 2 个分隔符,那么您要实际比较哪个字段的值?

标签: awk


猜你喜欢
  • 1970-01-01
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
  • 2011-05-05
  • 2016-03-07
  • 2021-10-18
相关资源
最近更新 更多