Você pode querer dar uma olhada em toilet
. O seguinte foi incorporado no banner de um dos servidores do meu laboratório:
Vocêpodeinstalá-loemsistemasbaseadosemDebiancom
sudoapt-getinstalltoilet
TOIletprintstextusinglargecharactersmadeofsmallercharacters.ItissimilarinmanywaystoFIGletwithadditionalfeaturessuchasUnicodehandling,colourfonts,filtersandvariousexportformats.
toilet
funcionaperfeitamentebemcomarteASCII:
Eu escrevi um pequeno script em Perl para destacar regexes específicos no texto. Se você usar .
como o regex, ele irá colorir tudo em uma cor específica:
Oscript(use-h
paraumapequenamensagemdeajuda):
#!/usr/bin/envperluseGetopt::Std;usestrict;useTerm::ANSIColor;my%opts;getopts('hic:l:',\%opts);if($opts{h}){print"Use -l to specify the letter(s) to highlight. To specify more than one patern use commas.\n -i makes the search case sensitive\n -c: comma separated list of colors\n";
exit;
}
my $case_sensitive=$opts{i}||undef;
my @color=("bold blue",'bold red', 'bold yellow', 'bold green', 'bold magenta', 'bold cyan', 'yellow on_magenta', 'bright_white on_red', 'bright_yellow on_red', 'white on_black');
if ($opts{c}) {
@color=split(/,/,$opts{c});
}
my @patterns;
if($opts{l}){
@patterns=split(/,/,$opts{l});
}
else{
$patterns[0]='\*';
}
# Setting $| to non-zero forces a flush right away and after
# every write or print on the currently selected output channel.
$|=1;
while (my $line=<>)
{
for (my $c=0; $c<=$#patterns; $c++){
if($case_sensitive){
if($line=~/$patterns[$c]/){
$line=~s/($patterns[$c])/color("$color[$c]").$1.color("reset")/ge;
}
}
else{
if($line=~/$patterns[$c]/i){
$line=~s/($patterns[$c])/color("$color[$c]").$1.color("reset")/ige;
}
}
}
print STDOUT $line;
}