Bas betiğinden renkli çıktılar nasıl alınır?


9

grepGnome terminali içinden yürüttüğümde , renkli çıktı alıyorum - kolayca fark edilebilir bir eşleşme, farklı renklerle satır numaraları (-n) vb.

Ama grepbash betiği ile tam olarak aynı komutu yürüttüğümde boyamadan uçak çıktısı alıyorum

Bas betiği kullanarak renkli çıktı alabilmemin bir yolu var mı?

Yanıtlar:


9

--colorKabuk betikleri içinde grep çalıştırdığımda seçeneği kullanmak benim için çalışıyor.

İşte ne istediğinize bir örnek.

grep -n --color=auto "PATTERN" FILE

Gerçekten teşekkürler. Grep man sayfasına göz attım ama --color[=WHEN], --colour[=WHEN]her ne kadar iyi açıklanmış olsa da beni
şaşırttı

3

İşte tput'un bash ile nasıl çalıştığını anlamanıza yardımcı olan küçük bir komut dosyası

#!/bin/bash
#@auth kesavan.muthuvel
#@desc - bash with colors :)

B=`tput bold`           #BOLD
D=`tput dim`            #DIM
U=`tput sgr 0 1`        #UNDERLINE
U2=`tput smul`          #UNDERLINE2
NOU=`tput rmul`         #NO UNDERLINE
H=`tput smso`           #HIGHLIGHT
X=`tput sgr0`           #RESET
C='tput setaf '         #COLOR


for i in 0 1 2 3 4 5 6 7 ; do
        c=`$C$i` && echo $c${B}I${U}always$NOU $D love \
           ${U2}colors$NOU \& $c${H}GNU/Linux$X
done;

Bu, aşağıdaki çıktıyı BOLD , UNDERLINE, Vurgulama ve renkler gibi formatlarla basacaktır .

Metin biçimlendirme ve RENKLİ BASH Script baskıları


0

Bu takma adı kendi sitenize eklemeye çalıştınız ~/.bashrcmı?

alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'

Evet, bu satırlar var, ancak grep bash komut dosyasından çalıştırıldığında çıktı maalesef aynı (renksiz).
zetah

Kabuk takma adlarının varsayılan olarak yalnızca etkileşimli kabuk oturumları üzerinde etkisi vardır. Ya 1) --colorseçeneği grepaçıkça (güvenli) veya 2) expand_aliaseskabuk seçeneğini etkinleştirmeniz ve source ~/.bashrc(olası diğer takma adlar nedeniyle sorunlara yatkın ) komuta eklemeniz gerekir . 1) düzeltebilir GREP="grep --color=auto"ve betiğinizdeki her yer $GREPyerine bir variabl ve daha sonra kullanabilirsiniz grep.
David Foerster
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.