GNU/Linux >> Tutoriels Linux >  >> Linux

comment insérer une nouvelle ligne si une ligne a plus de 60 caractères

Essayez :

$ 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

Comment ça marche :

  1. print $1

    Cela imprime le premier champ de la ligne.

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

    Pour le deuxième champ sur la ligne, nous imprimons 60 caractères à la fois jusqu'à ce que nous atteignions la fin du champ.


Vous pouvez utiliser GNU coreutils fold :

fold -w60 file

Linux
  1. Comment insérer du texte au début de chaque ligne dans Vim

  2. imprimer le contenu de plusieurs fichiers dans une archive zip

  3. Bash - Comment imprimer des chaînes multi-lignes (avec '\ n') à l'aide de printf

  4. Comment grep les lignes qui ont plus qu'un nombre spécifique de caractères spéciaux

  5. Comment lier le serveur MySQL à plusieurs adresses IP ?

Comment afficher différemment les caractères de contrôle (^c, ^d, ^[, …) dans le shell ?

Comment gérer plus de 10 paramètres dans le shell

Concaténer des fichiers et insérer une nouvelle ligne entre les fichiers

Comment insérer une nouvelle ligne dans l'e-mail à l'aide de la commande linux mail ?

Comment insérer une nouvelle ligne dans le script shell Linux ?

xargs substitution de plus d'un argument