【发布时间】:2014-03-21 13:28:37
【问题描述】:
请在下面找到我的一个文件的摘录。
1991;1;-7;-3;-9;-4;-7
1991;1;-7;-3;-9;-4;-7
1991;1;-7;-3;-9;-4;-7
1991;2;-14;-11;-14;-4;-14
1991;2;-14;-11;-14;-4;-14
1991;2;-14;-11;-14;-4;-14
1991;3;-7;-3;-15;5;-7
1991;3;-7;-3;-15;5;-7
1991;3;-7;-3;-15;5;-7
1991;4;-15;-9;-21;1;-16
1991;4;-15;-9;-21;1;-16
1991;4;-15;-9;-21;1;-16
1992;1;-12;-6;-19;-2;-12
1992;1;-12;-6;-19;-2;-12
1992;1;-12;-6;-19;-2;-12
1992;2;-16;-7;-22;-12;-15
1992;2;-16;-7;-22;-12;-15
1992;2;-16;-7;-22;-12;-15
1992;3;-22;-15;-25;-16;-24
1992;3;-22;-15;-25;-16;-24
只要第一列中的年份保持不变,我正在尝试通过 sed 或/和 awk 在第二列的第二列为第二行添加 + 1。
结果如下:
1991;1;-7;-3;-9;-4;-7
1991;2;-7;-3;-9;-4;-7
1991;3;-7;-3;-9;-4;-7
1991;4;-14;-11;-14;-4;-14
1991;5;-14;-11;-14;-4;-14
1991;6;-14;-11;-14;-4;-14
1991;7;-7;-3;-15;5;-7
1991;8;-7;-3;-15;5;-7
1991;9;-7;-3;-15;5;-7
1991;10;-15;-9;-21;1;-16
1991;11;-15;-9;-21;1;-16
1991;12;-15;-9;-21;1;-16
1992;1;-12;-6;-19;-2;-12
1992;2;-12;-6;-19;-2;-12
1992;3;-12;-6;-19;-2;-12
1992;4;-16;-7;-22;-12;-15
1992;5;-16;-7;-22;-12;-15
1992;6;-16;-7;-22;-12;-15
1992;7;-22;-15;-25;-16;-24
1992;8;-22;-15;-25;-16;-24
我在 stackflow 上看到了无数示例,但没有什么可以让我接近解决方案。
我欢迎任何建议。
最好的,
【问题讨论】:
-
编辑文件中第一年(1991)的行?
-
嗨,我不太明白......
-
编辑所有年份还是只编辑一年?
-
多年来,嫌疑犯。我正在考虑使用 FOR 循环,它会解析一年,然后使用 "awk -F\| '{++$2;print}'"
-
当您实际上并不关心使用哪种工具,或者有理由相信任何特定工具适合用例时,为什么要列出特定工具(sed、awk)?如果您想要使用标准 shell 工具的解决方案,请指定“标准 shell 工具”,而不是假设特定工具可以解决问题。