On Mon, Jul 27, 2009 at 07:38:28PM +0200, Gorka wrote: > 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 >
Mi consejo es que leas pex, la ABS-guide. apt-get install abs-guide Ahora.. yo lo haría con un script.. que llevase algo como esto: ,---- | for i in $(ls); do | | cat $i | grep "***SPAM***" > /dev/null | | if (( $(echo $?) == 0)); then | | mv $i $DESTINO | fi | | done `---- Pero vamos, es una idea.. funcional, aunque no la más correcta.. y se puede hacer mucho mejor .. etc. Espero le sirva como idea, y lea la doc... > 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. > > -- Porqué loitar e matar, se podes amar e sonhar /"\ \ / CAMPANHA DA FITA ASCII - CONTRA MAIL HTML X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL / \ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

