列出 Debian 中实际是计算机的用户名

列出 Debian 中实际是计算机的用户名

我继承了大约 6 台服务器(全部基于 Debian),明年我的项目的一部分是将所有服务器整合到一台服务器中。有 6 个“域”从 Samba3 安装运行,一旦我整理好所有东西,我想将它们全部合并到一台新服务器中。我想知道是否有办法加载文件/etc/passwd以仅显示以 结尾的用户名$,这样我就知道它们是计算机名称。一旦我能得到这个,我就可以(希望)编写一个脚本将所有机器添加到新的主服务器,但那是以后的另一个问题了

答案1

cat /etc/passwd | grep \$\: | cut -d : -f 1

这是我的第一次尝试。

答案2

以下是我的做法:

awk -F: '{print $1}' /etc/passwd | grep '\$$'

答案3

我认为

grep -P '^[^:]+?\$:' /etc/passwd

是实现此目的最简洁的方法。

编辑:找到了一种更简洁的方法。例如,这不会混淆 GECOS 字段中存在的杂散“$:”。

相关内容