Sunday, October 12, 2008

Colorful Output Of Pacman

Leprechaun's Perl Edition:

 1 #!/usr/bin/perl
 2 use strict;
 3 use warnings;
 4 my $package = shift;
 5 my @res = `pacman -Ss $package`;
 6 foreach(@res){
 7     if (/^(\S+?)\/(\S+)\s+(.+)$/){
 8         print "\033[1;31m $1\033[0;37m/\033[1;36m$2\033[0;37m\033[1;34m $3\033[0;37m\n" if $1 eq "core";
 9         print "\033[1;32m $1\033[0;37m/\033[1;36m$2\033[0;37m\033[1;34m $3\033[0;37m\n" if $1 eq "extra";
10         print "\033[1;35m $1\033[0;37m/\033[1;36m$2\033[0;37m\033[1;34m $3\033[0;37m\n" if $1 eq "community";
11     }
12 }


Bash Edition:

1 #!/bin/bash
2 echo -e "$(pacman -Ss $@ | sed \
3 -e 's#\(core/\)\(.*\)#\\033[31m\1\\033[0;37m\\033[36m\2\\033[0;37m#g' \
4 -e 's#\(extra/\)\(.*\)#\\033[32m\1\\033[0;37m\\033[36m\2\\033[0;37m#g' \
5 -e 's#\(community/\)\(.*\)#\\033[35m\1\\033[0;37m\\033[36m\2\\033[0;37m#g' \
6 -e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' )"

No comments: