Re: Problema con los comandos del bash
> Quiero mover los mails que contengan
> cierta palabra a otra carpeta. Para
> ello he llegado hasta el siguiente comando,
>
> grep ***SPAM*** * | sed 's/miservidor.*$//'
>
> Que me da los emails que yo quiero. Sólo me faltaría
> completar los nombres
> de los mails con * y hacer el mv, pero no sé cómo hacerlo
> en una única
> línea, porque si hago,
>
> mv (grep ***SPAM*** * | sed 's/miservidor.*$//')* ../spam/
>
> Me da error.
> También he pensado en un script tipo:
>
> #!/bin/bash
> for i in grep $1 *;
> do sed 's/miservidor.*$//' $i | mv $i ../spam;
> done
>
> Al que se le pase ‘***SPAM***’ como parámetro, pero no
> doy con la forma
> correcta de hacerlo. Me da error también.
>
> Una ayudita, por favor.
>
Hola!!
No se si te sea util hacerlo de esta otra forma, creo yo que es mas simple:
grep -l SPAM * | xargs -i -t mv {} ./spam
Saludos
Marcela Alegria
PD: seguramente tendras que ajustar algunas cosas para que acepte parametros como comentas del patron o ruta destino y cosas asi.
¡Obtén la mejor experiencia en la web! Descarga gratis el nuevo Internet Explorer 8. http://downloads.yahoo.com/ieak8/?l=mx
Reply to: