Re: Problema con los comandos del bash
--- El lun, 27/7/09, Gorka <gorkalinux@yahoo.es> escribió:
> De: Gorka <gorkalinux@yahoo.es>
> Asunto: Problema con los comandos del bash
> Para: debian-user-spanish@lists.debian.org
> Fecha: lunes, 27 julio, 2009 7:38
> 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.
>
El problema aqui es que te devolvera una lista ?No funcionaria algo similar a?
for i in $(grep ***SPAM*** *| sed 's/miservidor.*$//'); do mv $i* ../spam done
Ojo que no estoy completamente seguro que el $i* sea correcto
Reply to: