Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

297
Views
dividir y escribir los archivos con AWK -Bash

INPUT_FILE.txt en c:\Pro\usr\folder1

 ABCDEFGH123456 ABCDEFGH123456 ABCDEFGH123456 BBCDEFGH123456 BBCDEFGH123456

usó 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 según 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 escriben en la ubicación principal a la que apunta bash. ¿Cómo puedo enrutar los archivos creados a otra ubicación como c:\Pro\usr\folder3 .

Gracias

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Pase la carpeta de destino como una variable a awk:

 awk -v dest='c:\\Pro\\usr\\folder3\\' '{F=dest substr($0,1,8) "_kg" ".txt"; print $0 >> F; close(F) }' "c:\Pro\usr\folder1\input_file.txt"

Creo que se requieren las barras invertidas duplicadas.

over 4 years ago · Santiago Trujillo Report

0

Seguir el código awk puede ayudarlo en el mismo, escrito y probado con muestras mostradas en GNU awk .

 awk -v outPath='c:\\Pro\\usr\\folder3' -v FPAT='^.{8}' '{outFile=($1"_kg.txt");outFile=outPath"\\"outFile;print > (outFile);close(outFile)}' Input_file

Explicación: Creando una variable awk llamada outPath que tiene la ruta mencionada por OP en las muestras. Luego configurando FPAT (configuración del separador de campo como una expresión regular), donde estoy creando un campo de 8 caracteres a partir del primer carácter. En el programa principal de awk , se crea la variable outFile que tiene nombres de archivos de salida (primer campo seguido de _kg.txt), luego se imprime la línea completa en el archivo de salida y se cierra el archivo de salida en el backend para evitar el error "demasiados archivos abiertos".

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!