![줄바꿈할 모든 터미널 색상과 선을 포함하여 첫 번째 전체 화면 출력만 표시하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/175706/%EC%A4%84%EB%B0%94%EA%BF%88%ED%95%A0%20%EB%AA%A8%EB%93%A0%20%ED%84%B0%EB%AF%B8%EB%84%90%20%EC%83%89%EC%83%81%EA%B3%BC%20%EC%84%A0%EC%9D%84%20%ED%8F%AC%ED%95%A8%ED%95%98%EC%97%AC%20%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EC%A0%84%EC%B2%B4%20%ED%99%94%EB%A9%B4%20%EC%B6%9C%EB%A0%A5%EB%A7%8C%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
컴파일 문제가 있을 때 터미널에 많은 내용을 인쇄하는 명령(컴파일러)이 있습니다. 일부 줄은 내 터미널 너비보다 길고 터미널 색상도 사용합니다(오류에는 빨간색 텍스트 등). 명령을 실행하고 출력의 첫 번째 화면/페이지만 표시하고 싶지만 줄바꿈과 색상을 고려하고 싶습니다.
고쳐 쓰다저는 cargo
구문 오류가 있는 경우 색상을 포함하여 많은 출력을 생성하는 Rust 컴파일러를 사용하고 있습니다. 를 사용하면 --colors=always
두 |&
가지를 동시에 표시할 수 있습니다. 예를 들어 cargo build --colors=always |& head -n 20
처음 20개 행을 표시합니다. 첫 페이지를 보여주고 싶어서
entr
자동 실행 에 사용하는 것은 명령이 모든 것을 먹어치워서 멈출 수 없기 find ./src/ -type f -name '*.rs' | entr -r bash -c 'cargo build -- color=always |& less -R
때문에 작동하지 않습니다 . less
실제로 이는 모든 출력을 숨깁니다.
답변1
다음을 찾고 있는 것 같습니다 less -R
.
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are output in
"raw" form. Unlike -r, the screen appearance is maintained cor‐
rectly in most cases.
이 플래그는 less
ANSI 색상 순서가 해석되어 출력이 터미널과 동일해야 함을 나타냅니다.
N이 터미널 창의 현재 크기인 첫 번째 N 줄만 가져오려면 다음을 사용하세요 $LINES
.
find ./src/ -type f -name '*.rs' |
entr -r bash -c 'cargo build -- color=always |& head -n $LINES
또는 명령을 시작할 때의 프롬프트와 완료 후 인쇄되는 프롬프트가 모두 한 줄을 차지하므로 다음과 같습니다.
find ./src/ -type f -name '*.rs' |
entr -r bash -c 'cargo build -- color=always |& head -n $((LINES-2))