bash - 使用通讯和排序功能对拖车文件进行排序
问题描述
我想与 freeradius 数据库中的在线用户和 mikrotik 设备中的用户进行比较,所以我从 freeradius 检索在线用户并将它们插入到 file1 中,从 mikrotik 获取在线用户并将它们插入到 file2 中,现在我想获取找到的用户在file2中但在file1中找不到所以我使用了这段代码
我正在尝试获取在文件 2 中找到但在文件 1 中找不到的用户。
comm -23 <(sort < file2) <(sort file1)
但我有这个错误
Syntax error: "(" unexpected.
那么我的错误在哪里?
实际上我对 bash 和 shell 了解不多,所以请帮助我
解决方案
假设您的文件在 file1 中的每行包含 1 个用户名,那么像下面这样的简单一行应该可以满足您的需要,而无需对文件进行排序:
while read line; do if grep -q "$line" file2; then echo "user in both :" "$line"; fi; done < file1
推荐阅读
- jquery - 嵌套手风琴 - 仅对第一个父引导程序 3 显示边框
- python - 将数据框中的特定列转换为 numpy 数组并与原始数据框合并
- android - react-native:配置 aws-amplify 时包 com.amazonaws 不存在
- amazon-web-services - EBS 快照如何存储在 S3 中?EBS = 块存储,S3 = 对象存储
- html - 如何根据子类更改父类 css 属性?
- java - @Embeddable 有自己的 id
- c# - 无法加载文件或程序集 GalaSoft.MvvmLight
- c# - 无法将 lambda 表达式转换为预期的委托类型(int 列表包含 int)
- wpf - 如何强制 WPF 绑定在 F# 中刷新
- jmeter-4.0 - 如何使用 Jmeter 4.0 上传图片/MP4 视频/PDF