![使用 Awk 将所有常规用户置于阴影中](https://linux22.com/image/914709/%E4%BD%BF%E7%94%A8%20Awk%20%E5%B0%86%E6%89%80%E6%9C%89%E5%B8%B8%E8%A7%84%E7%94%A8%E6%88%B7%E7%BD%AE%E4%BA%8E%E9%98%B4%E5%BD%B1%E4%B8%AD.png)
我有一个脚本。
我想获取所有常规用户,/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: