Re: Problema con los comandos del bash
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
/ \
Reply to: