删除文本文件的偶数行

删除文本文件的偶数行

我在 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

相关内容