我在 Linux 系统上有一个文本文件,并且想删除每隔一行,即“偶数”编号的行。示例:我想删除文件的第二行,第四行,第六行,第八行等等,直到完全完成文件的过滤。
文件.txt
86850343
88065952
89381968
89536251
89714939
89826424
90124775
90672109
91408453
92438737
我想要这个输出:
86850343
89381968
89714939
90124775
91408453
答案1
使用 GNU Sed 的n-skip-m
表示法:
$ sed '2~2d' file.txt
86850343
89381968
89714939
90124775
91408453
答案2
你确实无法胜任sed
这类事情,但这里有一些其他选择:
$ awk 'NR%2!=0' file
86850343
89381968
89714939
90124775
91408453
$ perl -ne '$.%2 && print' file
86850343
89381968
89714939
90124775
91408453
$ perl -ne 'print if $.%2' file
86850343
89381968
89714939
90124775
91408453
$ perl -ne 'not $.%2 && print' file
86850343
89381968
89714939
90124775
91408453