awk

Juan Andres Ramirez jandresaedo en gmail.com
Mar Oct 20 14:51:26 CLST 2009


Hola listeros:
        Estoy tratando de hacer un script en bash para procesar
archivos de texto en un directorio, esto es para posteriormente
aplicar mb2md a estos archivos.
He hecho lo siguiente:

#IMPRIME UN * AL FINAL DE CADA ARCHIVO, ESTO LO HAGO PORQUE NO SE
TIENE UN DELIMITADOR DE CADENA FIJO.CON ESTO Si.

find /home/usuario/mail/ -type f |sed -e 's/.*/&/'|awk
'BEGIN{ORS="*"}{print}' > archivo.txt

Agrega a un archivo la lista de archivos tomados del directorio mail,
de la forma -> /home/usuario/mail/Archivo*/home/usuario/mail/Archivo2*

Proceso el archivo.txt con awk para separar dichos archivos en una
variable para poder procesarla luego con mb2md.

Entonces hice algo asi:

#SE DIVIDE LA CADENA EN LOS DELIMITADORES * .
for archivo in `awk -F* '{print $1}' /dir/archivos.txt`
do
        echo $archivo
        #da como resultado: /home/usuario/mail/Archivo1 , es lo que necesito.
done

Lo que hace esto, es dividir los string que están dentro del archivo
en sus respectivos delimitadores que en este caso es *, y eso lo hace
bien, lo que no se es como hacer que esto se repita , para ingresar
todos los archivos a un arreglo, para despues poder llamar al arreglo
y procesar cada archivo.

Cualquier tips se agradece, muchas gracias.



Más información sobre la lista de distribución Linux