파일 줄 번호에서 "n"을 뺀 줄로 이동 [중복]

파일 줄 번호에서 "n"을 뺀 줄로 이동 [중복]

파일의 마지막 80줄로 이동하고 싶지만 celery.log파일의 줄 수를 모른다고 가정해 보겠습니다.

이 명령과 동일 tail하지만 기본값 대신 끝에서 80번째 줄로 이동합니다.

어떻게 해야 합니까?

답변1

echo '$-79p' | ed -s celery.log

ed그러면 파일의 마지막 줄부터 시작하여 79줄을 표시하는 스크립트가 이름이 지정된 파일에서 실행됩니다 .$-79pcelery.log

이 문자열을 이해하는 쉘에서:

ed -s celery.log <<<'$-79p'

파일에 80줄 미만이 있으면 ed오류(표준 오류 스트림의 문자)가 반환되고 ?표준 출력 스트림에 출력이 생성되지 않습니다.

답변2

tail -n 80 celery.log | head -n 1

이렇게 하면 마지막 80줄 중 첫 번째 줄이 표시됩니다(파일의 줄이 80줄 미만인 경우 파일의 첫 번째 줄이 표시됩니다).

답변3

다음을 수행할 수 있습니다.

tac celery.log | sed -n '80p'

관련 정보