나는 이 질문에 대해 수많은 순열을 보았지만 그 중 어떤 것도 정확히 중복된 것은 아니라고 생각합니다.
유지하면서 stderr(또는 결국 stderr 및 stdin)만 파일에 복사할 수 있습니다.화려한화면에 출력 (파일에도 컬러가 있으면 더 좋을 것 같습니다)
답변1
답변2
파이핑이나 리디렉션으로 색상이 제거되지 않습니다!
사용하는 초기 명령에서 출력이 터미널이 아니라는 것을 확인하면 색상이 제거됩니다! 따라서 이 질문에 대한 일반적인 답변으로 사용할 수 없습니다.
예를 들면 다음을 참조하세요 man ls
.
ls
색상 코드는 표준 출력이 터미널에 연결된 경우에만 표시됩니다.
를 사용하여 동작을 변경할 수 있습니다 --color=always
.
또한 적용됩니다 grep
:
--color[=WHEN], --colour[=WHEN]
Surround the matched (non-empty) strings, matching lines, context lines, file names, line numbers, byte offsets, and separators (for fields
and groups of context lines) with escape sequences to display them in color on the terminal. The colors are defined by the environment
variable GREP_COLORS. The deprecated environment variable GREP_COLOR is still supported, but its setting does not have priority. WHEN is
never, always, or auto.
예를 들어:
echo 123 | grep --color=always 2 | tee file
... 2
터미널과 파일의 출력에 색상을 제공합니다.
출력에는 색상이 포함되지만아니요파일에서 다음 질문에 대한 답변을 확인할 수 있습니다.이 문제그런 다음 예를 들어 다음을 실행합니다.
echo 123 | grep --color=always 2 | tee /dev/tty | ansi2txt > file