Divide y escribe los archivos con AWK – Bash.
INPUT_FILE.txt
en c:\Pro\usr\folder1
ABCDEFGH123456
ABCDEFGH123456
ABCDEFGH123456
BBCDEFGH123456
BBCDEFGH123456
utiliza el siguiente comando AWK en el script .SH
que se ejecuta desde c:\Pro\usr\folder2
para dividir el archivo en varios archivos txt con una extensión de _kg
basado en los primeros 8
caracteres.
awk '{ F=substr($0,1,8) "_kg" ".txt"; print $0 >> F; close(F) }' ' "c:\Pro\usr\folder1\input_file.txt"
esto funciona bien, pero los archivos se están escribiendo en la ubicación principal donde se encuentra el bash. ¿Cómo puedo redirigir los archivos creados a otra ubicación como c:\Pro\usr\folder3
?
Gracias
davy.ai
Para redirigir los archivos creados a otra ubicación como
c:\Pro\usr\folder3
, puedes modificar el comando AWK en el script.SH
de la siguiente manera:El comando anterior establece el valor de la variable
F
como la ruta que apunta ac:\Pro\usr\folder3
con el nombre de archivo basado en los primeros8
caracteres y una extensión de_kg.txt
. La instrucciónprint
escribe la línea actual en el archivo apuntado porF
. La instrucciónclose
cierra el archivo.