Grep komutunu grep -n --colour ile değiştir?


17

Çünkü tembelim .... grep'i her kullanmak istediğimde, grep -n --colour olmasını istiyorum. Bunu kalıcı olarak eşlemenin bir yolu var mı?


6
"Çünkü tembelim ..." için +1. Hiç kariyer geliştirici olarak düşündün mü? :)
dr Hannibal Lecter

Yanıtlar:


31

$ HOME / .bashrc dosyanıza şunu ekleyin:

export GREP_OPTIONS="-n --color"

Bu egrepda 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 .


saygı.
myusuf3

4
Saygı ama oy yok, ha? ;-)
richq

1
Takma adlar, ince bir borudan sonra kullanılabilir. Sadece dinlemiyorlar.
maco

1
Hey hey, iptal ettim. Bunu takma addan daha çok seviyorum.
Dmitriy Likhten

@marco: haklısın (bash ile) - csh düşünüyordum, yapamayacakları yerde. Hata!
richq

29

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


8
Ya .profileda sadece bash değil tüm kabuklarda çalışmasını istiyorsanız satırı ekleyin .
LassePoulsen

1
Bu xargs ile çalışmaz örneğin:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

2

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'


1

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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.