So ersetzen Sie Leerzeichen durch __

So ersetzen Sie Leerzeichen durch __

Ich habe eine Datei, die Speicherplatz enthält, beispielsweise wie folgt:

ACTTTTTTTTGSGSGSGSG  TTT
RTATATTATRSSTSTSTST  HHH

Ich möchte das Leerzeichen eliminieren und das Ergebnis erhalten:

ACTTTTTTTTGSGSGSGSG__TTT
RTATATTATRSSTSTSTST__HHH

Antwort1

Mit sed, vorausgesetzt, dass der Zweck darin besteht, jedes Leerzeichen durch einen Unterstrich ( _) zu ersetzen, für alle Leerzeichen in den Zeilen

sed 's/ /_/g' file

Tests

$ cat file
ACTTTTTTTTGSGSGSGSG  TTT
RTATATTATRSSTSTSTST  HHH

$ sed 's/ /_/g' file
ACTTTTTTTTGSGSGSGSG__TTT
RTATATTATRSSTSTSTST__HHH

Antwort2

Ergänzend zur Antwort von @Paulo Tomé, vorausgesetzt, es kannmehrals zwei Leerzeichen:

tr -s '[[:blank:]]' < file | sed 's/[[:blank:]]/__/'

Angenommen, es sind immer zwei Leerzeichen:

tr '[[:blank:]]' '_' < file 

Dies funktioniert auch, wenn die Leerzeichen Tabulatoren sind:

verwandte Informationen