我有以下行的文件:
Data;moreData;EvenMoreData1;200
Data;moreData;EvenMoreData1;200
Data;moreData;EvenMoreData2;500
Data;moreData;EvenMoreData2;0
Data;moreData;EvenMoreData3;0
Data;moreData;EvenMoreData3;0
Run Code Online (Sandbox Code Playgroud)
基本上每2条线彼此相关.我试图找到最好的方法,只用一个0和它上面或下面的线打印线.所以输出就像.
Data;moreData;EvenMoreData2;500
Data;moreData;EvenMoreData2;0
Data;moreData;EvenMoreData3;0
Data;moreData;EvenMoreData3;0
Run Code Online (Sandbox Code Playgroud)
$ perl -00 -ne "print if /;0$/m;" < input
0;Data;0;moreData;EvenMoreData2;500
0;Data;0;moreData;EvenMoreData2;0
0;Data;0;moreData;EvenMoreData3;0
0;Data;0;moreData;EvenMoreData3;0
0;Data;0;moreData;EvenMoreData3;0
0;Data;0;moreData;EvenMoreData3;1
Run Code Online (Sandbox Code Playgroud)
-00打开将输入记录分隔符设置为的段落模式\n\n+,因此这依赖于两条数据行之间的空行.
$ cat input
0;Data;0;moreData;EvenMoreData1;200
0;Data;0;moreData;EvenMoreData1;200
0;Data;0;moreData;EvenMoreData2;500
0;Data;0;moreData;EvenMoreData2;0
0;Data;0;moreData;EvenMoreData3;0
0;Data;0;moreData;EvenMoreData3;0
0;Data;0;moreData;EvenMoreData3;0
0;Data;0;moreData;EvenMoreData3;1
Run Code Online (Sandbox Code Playgroud)