小编Roc*_*ost的帖子

替换文件中第 n 次出现之间的所有内容

我有一个包含字段的文件,如下所示:

2|508|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise | CPT||0598
2|504|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise | CPT||0598
2|505|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise || CPT||0598
2|506|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise | |CPT||0598
Run Code Online (Sandbox Code Playgroud)

我想把最终文件归结为:

2|508|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise  CPT||0598
2|504|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise  CPT||0598
2|505|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise  CPT||0598
2|506|PNP|20-dec-2015 12:32:20|3451101|0|3xPirate Ship Cruise  CPT||0598
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

sed 's/|//7'
Run Code Online (Sandbox Code Playgroud)

这很棒,因为它删除了不需要的 | 分隔符,但是,在第 7 个字段中,数据有时在第 7 个字段中有超过 1 个管道,我的代码在第一次运行时没有接收到。

有没有办法用 sed、awk 或 python 来删除一个或多个?在第 7 场使总 | 管道总共只有8个|?

python awk sed

1
推荐指数
1
解决办法
113
查看次数

标签 统计

awk ×1

python ×1

sed ×1