我继承了大约 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 字段中存在的杂散“$:”。