텍스트 파일의 짝수 줄 삭제

텍스트 파일의 짝수 줄 삭제

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

관련 정보