lunes, 5 de enero de 2009

¿Cuantas veces se repite una palabra en un archivo?

Feliz Año 2009, si acaso alguien que no sea yo, lee este trapo de blog.

Bien, el día primero de enero estaba en casa de mi madre acompañado de un ser humano del género opuesto (que buena manera de recibir el el año). ¿Que ocurrió? Estaba usando mi debian con compiz, muy feliz de mi ambiente gráfico, estabilidad y tranquilidad que se siente. Bueno, entrando en materia, nos encontramos con un texto, en el cual queríamos saber cuantas veces se repetía una palabra en específico. Linuxero al fin, quería hacerlo en linea de comando utilizando grep, tail etc. Intente por varios minutos y no pude. Puse una nota recordatoria para buscar la manera de realizarlo en otro momento (claro, por linea de comando, como quería).

En fin, después de una larga búsqueda encontré este script en perl.

usando Perl:

Código:

#!/usr/bin/perl
# search_word.pl
my $search_this = shift;
my $count = 0;
while (<>) {
while (m/\b$search_this\b/g) {
$count++;
}
}
if ($count == 0) {
print $ARGV . "does not contain " . $search_this . "\n";
}
else {
print $ARGV . " contains " . $search_this . " " . $count . " times \n";
}

ejecute esto así :

Código:

$ perl search_word.pl 200 nombre_archivo

Fuente: www.unix.com