从 awk 命令中的变量查找精确的字符串?

从 awk 命令中的变量查找精确的字符串?

我正在尝试使用以下 awk 命令从列出系统上所有用户的文件中返回用户,但前提是第 8 个字段为空并且它们与用户变量匹配(它正在循环中使用):

awk -F':' -v user="$user" 'index($0, user) {if ($8=="") print $1}' file

目前我的问题是它返回包含字符串且不完全匹配的用户。有什么办法解决这个问题吗?

答案1

解决了。

我最终使用了:

awk -F':' -v user="$user" '$1 == user {if ($8 == "") print $1}' file

我是个傻孩子哈哈

答案2

上面的答案是正确的...但是我们可以使用以下命令提取详细信息。

awk -F ',' '{if ( $9 == "" && $1 ==="$user") 打印 $1}' 文件

相关内容