テキストファイルの偶数行の削除

テキストファイルの偶数行の削除

Linuxシステムにテキストファイルがあり、他のすべての行、つまり「偶数」番号行を削除したいと思います。例:ファイルが完全にフィルタリングされるまで、ファイルの2行目、4行目、6行目、8行目などを削除したいと思います。

ファイル.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

関連情報