파일에서 처음 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