首页 > 解决方案 > 使用通讯和排序功能对拖车文件进行排序

问题描述

我想与 freeradius 数据库中的在线用户和 mikrotik 设备中的用户进行比较,所以我从 freeradius 检索在线用户并将它们插入到 file1 中,从 mikrotik 获取在线用户并将它们插入到 file2 中,现在我想获取找到的用户在file2中但在file1中找不到所以我使用了这段代码

我正在尝试获取在文件 2 中找到但在文件 1 中找不到的用户。

 comm -23 <(sort < file2) <(sort  file1)

但我有这个错误

Syntax error: "(" unexpected.

那么我的错误在哪里?

实际上我对 bash 和 shell 了解不多,所以请帮助我

标签: bashshellubuntush

解决方案


假设您的文件在 file1 中的每行包含 1 个用户名,那么像下面这样的简单一行应该可以满足您的需要,而无需对文件进行排序:

while read line; do if grep -q "$line" file2; then echo "user in both :" "$line"; fi; done < file1

推荐阅读