使用 Awk 将所有常规用户置于阴影中

使用 Awk 将所有常规用户置于阴影中

我有一个脚本。

我想获取所有常规用户,/etc/shadow例如影子文件中第二个术语以$或开头的所有用户!$

我的模式是

sudo getent shadow | awk -F: '$2 ~ /^$/ || /^!$/ {print $1}'

現在它不起作用。

答案1

您需要转义$,因为它是“行尾”的特殊字符,与^“行首”非常相似。

sudo getent shadow | awk -F: '$2 ~ /^\$/ || $2 ~  /^!\$/ {print $1}'

答案2

所有设置了密码的用户都可以这样列出:

getent shadow | egrep '^[^:]*:[*!]:' -v | cut -f1 -d:

相关内容