如果对应的影子条目为999999,如何从/ etc/passwd中拉出一行?

pau*_*l44 5 perl awk

我想比较passwd文件中的每个用户和影子文件中的条目,如果影子文件中的条目与999999匹配,则打印出passwd文件的整行.Perl中最简单的方法是什么?或者我想我可以从一个文件中取出值并在另一个文件中匹配?这样做的最佳方式是什么?

gho*_*g74 3

awk -F":" 'FNR==NR&&$5=="99999"{user[$1];next}($1 in user)' /etc/shadow /etc/passwd
Run Code Online (Sandbox Code Playgroud)

如果您想排除带有“!!”的行,请更改FNR==NR&&$5=="99999"FNR==NR&&$5=="99999"&&$2!="!!"