【发布时间】:2019-10-09 13:20:09
【问题描述】:
我正在处理一个 csv 文件,该文件是气相色谱数据分析仪的输出,因此我只能操作所提供的内容。我需要从 csv 文件中删除不必要的行或只保留必要的行。实际文件中有 960 行。
文件中的第 1 8 行如下所示
[Line 1] Remove
[Line 2] Remove
[Line 3] Keep
[Line 4] Remove
[Line 5] Remove
[Line 6] Remove
[Line 7] Keep
[Line 8] Keep
我要保留/删除的行范围模式持续数百行,因此这里以接下来的 8 行为例。
[Line 9] Remove
[Line 10] Remove
[Line 11] Keep
[Line 12] Remove
[Line 13] Remove
[Line 14] Remove
[Line 15] Keep
[Line 16] Keep
没有字符串模式可以仅识别这些行号本身。我想避免必须计算数百行的范围并将它们全部放入 sed 中,就像下面显示的脚本一样,它只削减前 8 行所需的行数。
sed '1,2d; 4,6d' test.csv >> cut_test.csv
我希望得到以下结果:
[Line 3] Keep
[Line 7] Keep
[Line 8] Keep
[Line 11] Keep
[Line 15] Keep
[Line 16] Keep
【问题讨论】: