【发布时间】:2021-11-01 00:16:12
【问题描述】:
我有一个(大)CSV 文件 (A),其结构如下:
1234ABC 456789
1235ABD 098732
1235ABE 098731
1235ABF 198731
另一个文件 (B) 包含应从 A 中删除的条目:
1234ABC
1235ABE
我想运行一个awk 或sed 命令(或一些命令行脚本,如果awk 或sed 不够用)从A 中删除第一列等于比脚本运行后 A 中的结果应该是:
1235ABD 098732
1235ABF 198731
请注意,仅删除 A 中 以 B 中任何行开头的行是不够的。例如,如果 A 包含:
1235AC 456789
1235A 098732
而 B 包含:
1235A
那么 A 之后应该包含这个:
1235AC 456789
如何在 bash 中实现这一点,最好使用 awk 或 sed(或需要时使用 shell 脚本)?
【问题讨论】:
标签: awk sed command-line terminal