GNU/Linux >> Tutoriales Linux >  >> Linux

cómo insertar una nueva línea si una línea tiene más de 60 caracteres

Prueba:

$ awk '{print $1; for (i=1;i<=length($2);i=i+60) print substr($2,i,60)}' file
>Directory1/file3
CTTSCCCTTTTTSEEEEECGGGSCEEEEECCCSSBCCCSCCCCCTTTCCCCCCCCSCBCC
CCCCCCSCTTSCCCTTTTTSEEEEECGGGSCEEEEECCCSSBCCCSCCCCCTTTCCCCCC
CCSCBCCCCCCCCSCTTSCCCTTTTTSEEEEECGGGSCEEEEECCCSSBCCCSCCCCCTT
TCCCCCCCCSCBCCCCCCCCS
>Directory1/file4
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA

Cómo funciona:

  1. print $1

    Esto imprime el primer campo en la línea.

  2. for (i=1;i<=length($2);i=i+60) print substr($2,i,60)

    Para el segundo campo de la línea, imprimimos 60 caracteres a la vez hasta llegar al final del campo.


Puede usar GNU coreutils fold :

fold -w60 file

Linux
  1. imprimir el contenido de más de un archivo en un archivo zip

  2. Bash:cómo imprimir cadenas de varias líneas (con '\ n') usando printf

  3. xargs sustitución de más de un argumento

  4. Cómo unir líneas que tienen más de un número específico de caracteres especiales

  5. ¿Cómo vincular el servidor MySQL a más de una dirección IP?

¿Puede Sed reemplazar los caracteres de nueva línea?

¿Insertar nuevas líneas con valores faltantes (na)?

¿Cómo insertar un espacio cada cuatro caracteres en una línea larga?

Cómo manejar más de 10 parámetros en shell

Concatenar archivos e insertar una nueva línea entre archivos

¿Cómo insertar una nueva línea en el correo electrónico usando el comando de correo de Linux?