sorting - 如果在其中一列中发现出现,则从两列文件中删除行
问题描述
假设我有一个包含以下内容的两列文件:
1 4
1 11
4 5
5 11
如果在下一行中找到数字(来自第一列或第二列),无论它是在第一列还是第二列,我想删除所有行。
所以我应该有这样的结果:
1 4
5 11
- 初始文件中的第二行,即 (1 11) 被删除,因为 '1' 已经在第一行中。
- 第三行 (4 5) 被删除,因为 '4' 已经在第一行。
- 但是第四行(5 11)没有被删除,因为第三行(4 5)刚刚被删除。
我已经尝试过使用 awk 或 sort 但没有设法获得预期的结果。有什么可以做的吗?
提前致谢。
解决方案
以下awk
可能对您有所帮助。
awk '{for(i=1;i<=NF;i++){if($i in a){next};a[$i]}} 1' Input_file
推荐阅读
- python - .agg PYTHON 中未定义均值
- php - 递归地将值添加到数组
- amazon-web-services - 在 GitHub 存储库中的每个新拉取请求上触发 AWS CodePipeline
- sql - 有没有办法根据条件退出当前功能但不结束程序
- java - 使用 JsonArray 和 HashMap 解析 JSON
- ios - tableView 单元格中的 UI 按钮后的“A”字符?
- r - export::graph2office 移动轴标签
- swiftui - SwiftUI 列表背景颜色
- amazon-web-services - CloudWatch 代理 CPU 收集的指标未显示
- powershell - 将文档库移动到 SharePoint 中的子网站