如果 /etc/passwd 对应的影子条目是 999999,如何从 /etc/passwd 中取出一行?
我想将 passwd 文件中的每个用户与影子文件中的条目进行比较,如果影子文件中的条目与 999999 匹配,则打印出 passwd 文件的整行。Perl 中最简单的方法是什么?或者我想我可以 awk 从一个文件中取出值并在另一个文件中匹配?这样做的最佳方法是什么?
I want to compare each user in the passwd file with his entry in the shadow file, and print out the whole line of the passwd file if the entry in the shadow file matches 999999. What is the easiest way in Perl to do this? Or I suppose I could awk the values out of one file and match in the other file? What is the best way of doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
将
FNR==NR&&$5=="99999"
更改为FNR==NR&&$5=="99999"&&$2!="!!"< /code> 如果你想排除带“!!”的行
change
FNR==NR&&$5=="99999"
toFNR==NR&&$5=="99999"&&$2!="!!"
if you want to exclude lines with "!!"您可以使用 AnyData::Format::Password:
输出:
或:
You could use AnyData::Format::Password:
Output:
Or: