Grep konusuna nasıl saygı duyarım? Borulu çıktıyı dağıtırken ANSI rengi kaçıyor mu? Grep yerine başka bir şey (perl?) Kullanmaktan mutluluk duyuyorum.grep renkli metinden, örn. gcc | colorgcc | grep regexp
Benim usercase: I (ANSI kaçar kullanarak bir unix terminal üzerine) renklerle güzel
gcc foobar.c | colorgcc | grep regexp
ls --color | grep filename
çalışmalarını istiyorum.
echo -e "he\e[35mllo\e[00m" world |grep hell ==> he\e[35mllo\e[00m world
echo -e "\e[35m removed line\nhello\e[00m" world |grep hell ==> \e[35mhello\e[00m world
echo -e "\e[35m rem\e[1moved line\nhello\e[00m" world | grep hell ==> \e35m\e1mhello\e[00m world
anda ilk satırı boş bir dize verir ve ikinci bir uncolorised dize 'merhaba \ e [00m dünyanın verir: davranış
Test örnekleri istediğim. Burada [35m ve \ e00m renk (öznitelik) modifiye edicidir: bir mektubun rengi, son birkaç renk (öznitelik) kaçış dizileri tarafından belirlenir \ e [P1; P2; P1, P2 vb. basamaklar dizisidir; \ e [P1m \ e [P2m \ e [P1; P2m 'ye eşdeğerdir. \ e [0m, rengi varsayılan yapar ve önceki tümleri unutacaktır. [..m dizileri: \ e [34m \ e [0m, \ e [0m. Birkaç bağımsız özellik vardır (cesaret, arka planın rengi, ön planın/harfin rengi); Bir çıkış sırasındaki her sayı, bunlardan sadece birini etkiler. Böylece \ e [1m \ e [35m, \ e [1; 35m'ye eşdeğerdir, ancak [e [35; 1m ve \ e [35m; bununla birlikte, [34m \ e [35m, e [35m'dir. Çünkü ikisi de aynı telaşı etkiler (harf/foregrnound'un rengi).
İlk bıçak: Burada
egrep versiyonu colorgcc | daha az -R +/regexp'. daha az -R renk kodlarını anlar ve etraflarında arama yapar. – nneonneo