GNU/Linux >> LINUX-Kenntnisse >  >> Linux

wie man eine neue Zeile einfügt, wenn eine Zeile mehr als 60 Zeichen hat

Versuchen Sie:

$ 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

Wie es funktioniert:

  1. print $1

    Dies druckt das erste Feld in der Zeile.

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

    Für das zweite Feld in der Zeile drucken wir 60 Zeichen auf einmal, bis wir das Ende des Feldes erreichen.


Sie können GNU Coreutils fold verwenden :

fold -w60 file

Linux
  1. Wie kann man Steuerzeichen (^c, ^d, ^[, …) in der Shell anders darstellen?

  2. Umgang mit mehr als 10 Parametern in der Shell

  3. Verketten von Dateien und Einfügen einer neuen Zeile zwischen Dateien

  4. Wie füge ich eine neue Zeile in ein Linux-Shell-Skript ein?

  5. Wie grep Zeilen, die mehr als eine bestimmte Anzahl von Sonderzeichen enthalten

Wie lösche ich gedruckte Zeichen in einer Konsolenanwendung (Linux)?

Wie füge ich mit dem Linux-Mail-Befehl eine neue Zeile in die E-Mail ein?

Drucken Sie den Inhalt von mehr als einer Datei in einem Zip-Archiv

Bash - So drucken Sie mehrzeilige Zeichenfolgen (mit '\n') mit printf

xargs Substitution von mehr als einem Argument

Wie binde ich den MySQL-Server an mehr als eine IP-Adresse?