터미널에서 줄 바꿈을 비활성화하는 방법은 무엇입니까?

터미널에서 줄 바꿈을 비활성화하는 방법은 무엇입니까?

Bash 쉘을 사용하여 대용량 로그 파일을 확인해야 합니다. 파일을 열곤 했는데 less줄이 너무 길어서 일종의 줄 바꿈/단어 줄 바꿈이 발생했습니다.

파일이 Log4J 로그이고 각 줄의 시작 부분에 패턴이 있으므로 줄 바꿈을 사용하면 출력을 구문 분석하기 어려워지므로 less -Swhich 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에 대한 초기 명령으로 처리됩니다.

예를 들어, +Fless에게 앞으로 스크롤하여 파일 끝에 도달하면 계속해서 읽으라고 지시합니다.

답변2

을 찾다슈퍼유저의 훌륭한 답변, 이는 gnome-terminal다른 터미널에서도 작동할 수 있습니다.

setterm -linewrap off

여기에 이미지 설명을 입력하세요.

답변3

다음 명령을 입력하여 줄 바꿈을 일시적으로 비활성화할 수 있습니다.

tput rmam

줄 바꿈을 복원하려면 다음 명령을 사용하십시오.

tput smam

답변4

정말 필요한 일이 있거나 하고 tail -f싶은 less +F일이 있나요? 여전히 대화형 호출기를 원하는 것처럼 들리므로 less직접 다시 구현하는 것보다 계속 사용하는 것이 더 쉬운 것 같습니다 .

마지막 메모: 고려해 보셨나요 tail -f file | less?

관련 정보