在 /etc/passwd 文件中注释掉不需要的用户

在 /etc/passwd 文件中注释掉不需要的用户

我需要将 .txt 文件中的所有用户与 /etc/passwd 文件进行比较,并注释掉所有不在 .txt 文件中的用户,或者至少告诉我哪些用户不在 .txt 文件中,但在系统上的 /etc/passwd 文件中。

答案1

您可以首先使用以下命令从 /etc/passwd 中获取基本信息:

cut -d : -f 1 /etc/passwd > result.txt

这样你就有了一个只有用户名的 txt 文件。然后我建议你使用一个简单的python 或 bash 脚本将这两个文件进行比较并执行您想要的操作。

然而,我不会亲自编辑 /etc/passwd 文件。

答案2

查找所有/etc/passwd不在您的列表中的用户:

awk -F':' 'NR==FNR{s[$1]++;next}!s[$1]{print $1}' users.list /etc/passwd

对于注释掉,可以使用 轻松完成sed
但我把这个问题留给你来解决,因为我非常同意 @andopr 不要弄乱/etc/passwd文件。

相关内容