我需要将 .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
文件。