특정 명령의 출력에서 특정 기호 시퀀스의 색상을 지정하는 명령이 필요합니다. 나는 그것을 원한다. 그대로이다 grep
.
$ some-command | grep symbol-sequence
그러나 grep
포함되지 않은 행은 삭제됩니다 symbol-sequence
. 모든 원본 줄을 강조 표시하고 싶습니다 symbol-sequence
. 어떻게 할 수 있나요?
내가 alias grep='grep --color=auto'
거기있어~/.bashrc
답변1
당신은 그것을 사용할 수 있습니다ANSI 제어 문자:
some-command | sed 's/symbol-sequence/^[[0;32;2m symbol-sequence^[[0;0m/'
이러한 문자는 일반 문자 뒤에 일반 문자가 오는 ^[
것이 아닙니다 . 인쇄할 수 없는 문자입니다. 대부분의 터미널에 입력하여 얻을 수 있습니다 . 두 번째는 사실입니다 .^
[
Ctrl-v Ctrl-Esc
[
[
전체 ASCII를 선호하는 경우 동일한 효과를 갖는 복사-붙여넣기 버전은 다음과 같습니다.
some-command | sed 's/symbol-sequence/\x1B[0;32;2m symbol-sequence\x1B[0;0m/'
위 명령에서 "32"와 "2"를 변경하여 출력의 색상과 스타일을 변경할 수 있습니다. 자세한 내용과 색상 코드를 보려면 검색 엔진에서 "ANSI 이스케이프 시퀀스"를 찾아보세요.