grep의 --colour 옵션을 많이 사용하지만 자주 사용하는 횟수도 적습니다. grep 결과를 더 적은 파이프로 어떻게 채울 수 있습니까? (또는 가능합니까?)
grep "search-string" -R * --colour | less
편집하다 :
나는 직접 솔루션이나 이와 동등한 것을 찾고있다.
grep의 --colour 옵션을 많이 사용하지만 자주 사용하는 횟수도 적습니다. grep 결과를 더 적은 파이프로 어떻게 채울 수 있습니까? (또는 가능합니까?)
grep "search-string" -R * --colour | less
편집하다 :
나는 직접 솔루션이나 이와 동등한 것을 찾고있다.
답변:
당신이 단순히 달릴 때 grep --color
의미한다 grep --color=auto
출력이 터미널인지 아닌지를 검출하고, 그렇다면 컬러를 인 에이블한다. 그러나 파이프를 감지하면 색칠이되지 않습니다. 다음 명령 :
grep --color=always -R "search string" * | less
항상 채색을 활성화하고 자동 감지를 무시하므로 색상 강조 표시가 나타납니다. less
.
편집하다: 다만 less
저를 위해 작동합니다. 아마도 이전 버전에서는 -R
거기에서 제안 된대로, 색을 다루는 플래그.
less -R
색상 인코딩이 덜 정확하게 해석되도록하기
less
버전에 따라 다를 수 있습니다.
grep pattern file | grep -v badpattern | grep --colour=always pattern | less -R
, 그것은 나의 필요를 완벽하게 만났다. (다시 한번 감사드립니다!)
less
그러므로 특별한 기회를 놓친 것입니다. colorless
수단. 혼자의 이름을 위해 그것은하게되었을 것임에 틀림 없었다! 바이너리가 다음과 같이 실행될 때 자동으로 -R을 호출하는 패치를 작성해야합니다. colorless
.
$LESS
세트 -R
.
이것을 당신의 집에 넣을 수 있습니다. .bashrc
파일:
export GREP_OPTIONS="--color=always"
또는 다음과 같은 별칭을 만듭니다.
alias grepc="grep --color=always"
그리고 당신은 -R
옵션 less
, 그곳에서 지적한 바와 같이
grep
와 GREP
, 또는 --color
옵션을 수동으로.
이런 경우에, 나는 실제로 작은 sh 파일을 생성하고 그것들을 넣는 것을 선호한다. /usr/local/bin
.
나는 보통 사용한다. grep
재귀 적으로 pwd
, 그래서 내 개인 스크립트 thats :
#!/bin/sh
grep --color=always -r "$@" . | less -R
그리고 나서 방금 복사했습니다. /usr/local/bin/g
(예, 많이 사용합니다)
g() { grep --color=always -r "$@" . | less -R }
동일하게 작동하며 더 나은 성능을 (미세하게) 제공합니다.
"grep"의 별명을 지정하지 마십시오. 쉘에서 사용하지 않는 "less"의 별명을 지정하는 것이 좋습니다. 당신의 .bashrc
그냥 넣어 : alias less="less -r"
.
grep --color=always
과 less -R
. grep은 다른 프로세스로 파이프되는 것을 알고 있습니다. --color=auto
옵션은이 정보를 사용하여 색상을 출력할지 여부를 결정합니다.
less
선택권 -r
다른 것보다 -R
. 아마 -R
더 안전합니다.
less
예제에서는 이미`--color '옵션을 사용하고있다.
less
~을 지원하다 $LESS
환경 변수. 따라서 별칭 대신에, export LESS='-R'
바람직 할 수 있습니다.
나는 달릴 필요가있어.
grep --color=always -R "search string" * | less - r
와 더불어 -아르 자형 후 깃발 적게 이 순서로 실행합니다.