Grep --colour seçeneğini çok kullanırım, ancak daha az kullanıyorum. Grep sonuçlarını nasıl daha az düşürür ve renklenmeyi nasıl koruyabilirim? (Yoksa bu mümkün mü?)
grep "search-string" -R * --colour | less
DÜZENLE:
Doğrudan bir çözüm veya buna eşdeğer bir şey arıyorum.
Sadece grep --color
komutunu çalıştırdığınızda, çıktının bir terminal olup olmadığını algılayan ve eğer öyleyse renkleri etkinleştiren grep --color=auto
anlamına gelir. Ancak, bir boru tespit ettiğinde renklendirmeyi devre dışı bırakır. Aşağıdaki komut:
grep --color=always -R "search string" * | less
Her zaman renklendirmeyi etkinleştirir ve otomatik algılamayı geçersiz kılar ve rengi less
içinde vurgulayarak alırsınız.
EDIT: Sadece less
çalışmalarını benimsememe rağmen, belki de eski sürümde -R
bayrağının renkleri önermesi gerekiyor.
Bunu .bashrc
dosyanıza ekleyebilirsiniz:
export GREP_OPTIONS="--color=always"
veya şöyle bir takma ad oluşturun:
alias grepc="grep --color=always"
ve burada belirtildiği gibi less
için -R
seçeneğini kullanmanız gerekir.
Böyle bir durumda, aslında küçük sh dosyaları oluşturmayı ve onları /usr/local/bin
'a koymayı tercih ederim.
Genelde grep
işlevini pwd
üzerinde özyinelemeli şekilde kullanırım, böylece kişisel senaryom:
#!/bin/sh
grep --color=always -r "[email protected]" . | less -R
Ve sonra sadece /usr/local/bin/g
olarak kopyaladım (evet, çok kullanıyorum)
"Grep" takma adını kullanmayın, takma adlar tarafından asla kullanılmayan takma adlara "daha az" olana kadar iyidir. .bashrc
içine sadece koymak: alias less="less -r"
.
Koşmam lazım
grep --color=always -R "search string" * | less - r
bunu çalıştırmak için -r flag ile less ile.