[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: