Mi kutimas uzi Grep por serĉi
precizan tekston en dosieroj. Per grep -R teksto
en dosierujo mi povas
trovi ĉiujn dosierojn en kiu tiu teksto estas.
Kiam estas multaj kongruoj, estas pli komforta uzi less
por moviĝi tra
la rezultoj. La problemo estas, ke plenumante grep -R teksto | less
oni ne plu vidas la kolorojn.
Grep ne montras kolorojn defaŭlte, sed estas konfigurita en la
plejparto de GNU/Linuksaj sistemoj per alinomo en la dosiero .bashrc
,
aŭ en la funkcie ekvivalenta en aliaj ŝeloj, por detekti kiam montri kaj
kiam ne montri kolorojn: alias grep='grep --color=auto'
. Kiam la
rezulto de ĝia plenumo estas donita al alia programo per dukto, Grep
ĉesas montri kolorojn, ĉar la kodoj uzitaj por montri kolorojn en la
ŝeloj aldonas ne ekzistantajn signojn, kiuj povas krei neatenditajn
rezultojn. Por montri kolorojn ankaŭ tiukaze ni devas aldoni je
--color=always
. Ankaŭ devas ni doni la opcion -r
al less
, por ke ĝi
montru la kolorajn signojn. Tiel estus la komando: grep --color=always
-R teksto | less -r
.
Ĉar skribi tiom multe estas teda, estas bona ideo aldoni ĉi tiun
funkcion al la dosiero .bashrc
(memoru, ke estas necese
reŝarĝi la agordaron de Bash
por uzi la funkcion):
lgrep ()
{
grep --color=always -R "$1" | less -r
}
Tiumaniere nur necesas skribi lgrep teksto
por montriĝi la koloraj
rezultoj en less
.
Komentoj