gpt4 book ai didi

Bash - 删除两个 CSV 文件中的相同行

转载 作者:行者123 更新时间:2023-11-29 09:32:36 24 4
gpt4 key购买 nike

我有两个 CSV 文件 - nodes.csv 和 edges.csv - 其中的列以制表符分隔。我使用

删除了 nodes.csv 中的某些行
awk -F'\t' -i inplace '($3 != "Symbol")' nodes.csv

如何删除edges.csv中对应的行?

例如,在 nodes.csv 中,我有:

ANR 35755   ParameterType   uint32_t
CYP 35756 Identifier status
ANR 35757 CFGEntryNode ENTRY
ANR 35758 CFGExitNode EXIT
ANR 35759 Symbol * host
CYP 35760 Symbol * irq_status_bits
ANR 35761 Symbol irq_status_bits

在 edges.csv 中,我有:

35738   35758   FLOWS_TO
35689 35759 USE
35701 35759 USE
35727 35760 USE
35734 35760 USE
35727 35761 USE
35735 35761 USE

我需要删除 nodes.csv 中的第 5、6、7 行,因为第 3 列具有值符号。如何删除 edges.csv 中的第 5、6、7 行?

输出:节点.csv

ANR 35755   ParameterType   uint32_t
CYP 35756 Identifier status
ANR 35757 CFGEntryNode ENTRY
ANR 35758 CFGExitNode EXIT

edges.csv:

35738   35758   FLOWS_TO
35689 35759 USE
35701 35759 USE
35727 35760 USE

非常感谢!

最佳答案

awk -F'\t' -i inplace 'NR==FNR{if ($3 != "Symbol") a[NR]} FNR in a' nodes.csv edges.csv

关于Bash - 删除两个 CSV 文件中的相同行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43902755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com