husonet | Tarih: 29.12.2014
grep çıktılarını renklendirme
grep eşleşmeleri renkli çıktı olarak verme yeteneğine sahiptir.
grep eşleşen verileri renkli olarak verebilir, fakat varsayılan olarak bu özelliği kapalıdır.
grep abc deneme.txt
abcdef
Kullanabileceğiniz 3 renk seçeneği mevcuttur
- --color=auto
- --color=always
- --color=never
--color=always, Her zaman eşleşmelerde renk kullan,
grep --color=always abc deneme.txt
[color=#FF0000]abc[/color]def
Çıktı üzerinde sayfalamak ve cursor le gezmek isterseniz.
grep --color=always abc deneme.txt | less
ESC[01;31mabcESC[00mdef
(END)
Fakat yukarıdaki kod da eşleşen kısımlarda algınızı bozacak değişiklikler göreceksiniz sebebi ise denetim karakterlerini kullanmasındandır, bunun önüne geçmek için less -R parametresi ile kullanmalısınız.
[code]grep --color=always abc deneme.txt | less -R
[color=#FF0000]abc[/color]def
more ile kullanım örneği
grep --color=always abc deneme.txt | more
[color=#FF0000]abc[/color]def
Başka bir sorunlu senaryoda grep ile eşleşen çıktıları bir dosyaya kaydetmek istediğimizde oluşur. Çıktı dosyası yukarıda belirtilen denetim karakterlerini içericektir.
grep --color=always abc deneme.txt > cikti.txt
vim cikti.txt
^[[01;31m^[[Kabc^[[m^[[Kdef
color=auto, çıktı bir komuta taşınması ya da dosyaya aktarılması sürecine göre rengi görüntüleler.
Son olarak, grep için ortam değişkeni renk parametresi belirtebilirsiniz. Ardından, komut satırına girmeniz gerekmez.
export GREP_OPTIONS='--color=always'
Renkli grepler dileriz :)