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