Portál AbcLinuxu, 12. května 2025 10:26

Dotaz: farebny vystup s "more"

27.6.2010 13:04 stewe
farebny vystup s "more"
Přečteno: 177×
Odpovědět | Admin
Zdravim,

v bashi mam v /etc/profile nastaveny farebny vystup z grepu, teda najdene slova v subore su napr. cervene (zelene, modre, to je jedno)

ide o to, ze ked takto grepnuty vystup spojim s "more", tak ta farebna infromacia sa strati, ten text je uz len "ciernobiely"

$ grep nieco subor | more

Ako dosiahnut, aby sa farby zachovali aj v more?

dik
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.6.2010 13:55 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: farebny vystup s "more"
Odpovědět | | Sbalit | Link | Blokovat | Admin
grep --color=always by pomohlo? Ale má to tu nevýhodu, že pokud budete výstup dál zpracovávat, tak budete muset počítat s tím, že součástí výstupu jsou i escape sekvence pro terminál.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
27.6.2010 15:02 NdrU | skóre: 10
Rozbalit Rozbalit vše Re: farebny vystup s "more"
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nevím jak more, ale less má přepínač -R, který v kombinaci se zmíněným --color=always (nejen u grepu, ale například i u ls) dělá to co si přejete. Můžete případně i nastavit proměnnou LESS, abyste nemusel pokaždé to -R vypisovat
27.6.2010 16:29 stewe
Rozbalit Rozbalit vše Re: farebny vystup s "more"
Odpovědět | | Sbalit | Link | Blokovat | Admin
dakujem za rady,

--color=always funguje v kombinacii s less -R aj s less bez -R

--color=auto nefunguje, funguje len samostatne (je jedno ci dam less s alebo bez -R)

--color=always zachovava pri presmerovani escape sekvencie :(

27.6.2010 16:36 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: farebny vystup s "more"
--color=auto nefunguje, funguje len samostatne (je jedno ci dam less s alebo bez -R)
Protože grep pozná, že výstup jde do roury a nic neobarvuje.

Další možností je vytvořit si pro prohlížení vlastní funkci:
mygrep() {
    grep --color=always "$@" | less -R
}
a při „ručním“ prohlížení volat mygrep.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
27.6.2010 19:18 Ant
Rozbalit Rozbalit vše Formatovani
Muzu se zeptat, jak udelas ten hezky fialovy ramecek? Me se to jeste nikdy ani s CODE ani s PRE ani s BLOCKQUOTE nebo CITE nepovedlo.

Nebo ze by jsi delal neco jako PRE id="kod" ?
27.6.2010 19:37 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: Formatovani
jak udelas ten hezky fialovy ramecek?
Fialový ho sice nemám, ale jestli jde o ten kód, tak přes <pre class="kod">...</pre>
I am always ready to learn although I do not always like to be taught. (W. Churchill)
27.6.2010 19:42 Ant
Rozbalit Rozbalit vše Re: Formatovani
Uz jsem to take zjistil - zacetl jsem se do napovedy dole. Klasicky pripad RTFM!

Jeste mi nefunguje to zabrazovani zvyrazneni podle typu souboru, ale to bude nejspis chyba u me.
27.6.2010 17:37 Ant
Rozbalit Rozbalit vše auto/always u --color
Jak se pise v manualu, to "auto" obarvuje vystup jen kdyz jde standardni vystup na tty, always to obarvuje pokazde. Roura neni tty a presmerovani je jen kopie toho, co jde na tty (presmerovani je zkratka za "presmerovani standardniho vystupu"). Takze to funguje presne tak, jak ma :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.