N개 행 삭제, 다음 N개 행 유지 등

N개 행 삭제, 다음 N개 행 유지 등

파일에서 처음 12줄을 삭제하고 다음 12줄을 유지한 다음 Linux 명령이나 셸 스크립트를 사용하여 파일이 끝날 때까지 이 작업을 반복하고 싶습니다.

답변1

파이프를 통해 통과시키세요.perl -nle 'print if ((($.-1)/12)%2)'

답변2

GNU 기능 사용awk

awk -v RS='([^\\n]*\n){12}' '!(FNR % 2){printf "%s", RT}' file

답변3

sed행 범위를 선택한 다음 삭제할 수 있습니다.

sed -i '1~24,+11d' file

답변4

tail"반전"을 사용하세요

tail -n +5

처음 5줄을 제외한 모든 내용을 인쇄합니다.

head -n 5

처음 5줄을 인쇄합니다. 따라서 6~10행을 인쇄하려면 다음을 수행하십시오.

cat yourfile | tail -n +5 | head -n 5

관련 정보