我有一个在过去180天内登录的用户列表以及来自LDAP的总用户列表。每个列表都在文本文件中,每个名称都在自己的行中。使用sed或awk,我可以从current-users.txt读取一个脚本并从total-users.txt中删除,以便为我提供一个包含过去180天所有非活动帐户的文本文档吗?
提前致谢!
答案 0 :(得分:2)
无需sed或awk,grep
就足够了:
grep -vf current-users.txt total-users
它会返回total_users
但不在current-users.txt
中的所有行。
grep -f
从文件中获取参数。grep -v
反转结果。$ cat total_users
one
two
three
four
$ cat some_users
two
four
$ grep -vf some_users total_users
one
three
答案 1 :(得分:1)
使用awk
awk 'NR==FNR{a[$1];next} !($1 in a)' current_users total_users