Yanıtlar:
$ HOME / .bashrc dosyanıza şunu ekleyin:
export GREP_OPTIONS="-n --color"
Bu egrep
da ve grep kullanan takma adlarda çalışır .
Güncelleme : GREP_OPTIONS, grep 2.21 tarihinden itibaren kullanımdan kaldırıldı ve bu çözümü kullanırsanız aşağıdaki uyarıyı göreceksiniz:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
Bu nedenle en iyi çözüm, cevabında maco'nun tavsiyelerine uymaktır . Veya , varsayılan olarak renkli çıktılar veren ag'yi kullanın .
Düzenle ~ / .bash_aliases Şu satırda bir satır ekleyin:
alias grep='grep -n --color'
~ / .bash_aliases varsa ~ / .bashrc tarafından otomatik olarak eklenir
.profile
da sadece bash değil tüm kabuklarda çalışmasını istiyorsanız satırı ekleyin .
find /usr/share -name '*.txt' |xargs grep testing
giriş dizininizde bulunan ve diğer herhangi bir varsayılan ayarı geçersiz kılacak bir takma ad tanımlayan .bashrc dosyasını değiştirebilirsiniz:
takma ad grep = 'grep -n --color'
değişiklik bittikten sonra terminali tekrar açın, çünkü dosya sadece terminali açtığınızda okunur.
Eğer .bashrc dosyasına bir göz atarsanız, aşağıdaki gibi daha varsayılan takma adlar bulacaksınız:
takma ad ll = 'ls -l'
takma ad la = 'ls -A'
takma ad l = 'ls -CF'
Diğer cevaplarda belirtilen bir takma ada ek olarak bir komut dosyası oluşturun. Tek başına bir takma ad her zaman çalışmaz ve bir komut dosyası katmanı, yine de insan tarafından okunabilir çıktı için yeterince hızlıdır.
Kısa bir ad seçin, örneğin cgrep
:
#!/bin/sh
grep --color -n "$@"
Yolunuza yerleştirin, ~/bin
(UPE okursanız bu yolunuzdadır :). Sonra böyle şeyler işe yarayacak:
find /usr/share -name '*.txt' | xargs cgrep testing
Hala o kadar mutlu değilim, ben de grep'i seçici bir şekilde cgrep yazmadan bir terminale stdout yaparken her zaman renklendirmek istedim.