要从大文件的第二行中删除逗号分隔的值

问题描述 投票:0回答:1

我有一个近10万行的大文件。每行包含10个逗号分隔的值。我想从每个偶数行中删除每个第8个逗号分隔的值。如何在Vim或Linux中做到这一点?

linux vim
1个回答
0
投票

假设它是一个简单的CSV文件,但没有引号的字段包含逗号,换行符等,因此担心,删除第八个字段的一种方法:

awk -F, 'NR%2 == 0 { $8=$9; $9=$10; NF=9 } 1' input.csv

对于每偶数行,将第九和第十个字段移动一个(覆盖第八个字段,并将字段数更改为9。打印所有行。

© www.soinside.com 2019 - 2024. All rights reserved.