Bash 쉘을 사용하여 대용량 로그 파일을 확인해야 합니다. 파일을 열곤 했는데 less
줄이 너무 길어서 일종의 줄 바꿈/단어 줄 바꿈이 발생했습니다.
파일이 Log4J 로그이고 각 줄의 시작 부분에 패턴이 있으므로 줄 바꿈을 사용하면 출력을 구문 분석하기 어려워지므로 less -S
which Chops 긴 줄을 사용하기 시작했습니다.
하지만 이제는 사용해야 tail -f
하며 출력도 래핑해야 합니다. Bash 쉘의 모든 명령에 대해 줄 바꿈을 비활성화할 수 있습니까?
노트:또 다른 질문에 대한 대답에는 이스케이프 시퀀스가 언급되어 있지만 echo -ne '\e[?7l'
bash에서는 작동하지 않는 것 같습니다.
답변1
노력하다:
less -S +F filename
=
less --chop-long-lines +F filename
그런 다음:
- 추적을 중지 하려면 를 누르고 Ctrlc이제 커서 키를 사용하여 왼쪽과 오른쪽으로 이동할 수 있습니다.
- Shiftf추적을 재개 하려면 누르세요.
- 종료 Ctrlc하려면 누르세요 .q
less manual:
+
명령줄 옵션이 +로 시작하는 경우 옵션의 나머지 부분은 less에 대한 초기 명령으로 처리됩니다.
예를 들어, +F
less에게 앞으로 스크롤하여 파일 끝에 도달하면 계속해서 읽으라고 지시합니다.
답변2
답변3
다음 명령을 입력하여 줄 바꿈을 일시적으로 비활성화할 수 있습니다.
tput rmam
줄 바꿈을 복원하려면 다음 명령을 사용하십시오.
tput smam
답변4
정말 필요한 일이 있거나 하고 tail -f
싶은 less +F
일이 있나요? 여전히 대화형 호출기를 원하는 것처럼 들리므로 less
직접 다시 구현하는 것보다 계속 사용하는 것이 더 쉬운 것 같습니다 .
마지막 메모: 고려해 보셨나요 tail -f file | less
?