2017-12-13 3 views
0

Bitte ich habe eine Textdatei durch Leerzeichen getrennt. Ich möchte es auf Spalten ausgeben, die durch ... getrennt sind.Separate Textdatei zu Spalten von;

Beispiel Eingangs

31561 49215 10 1196825801480000 
31561 49219 12 1196825801480000 
31561 48665 14 1196825806980000 

Ich verwende diesen Code

tr " " ";" < file 

My Ausgang

31561;49215;10;;;1196825801480000 
31561;49219;12;;;1196825801480000 
31561;48665;14;;;1196825806980000 

gewünschten Output.

31561;49215;10;1196825801480000 
31561;49219;12;1196825801480000 
31561;48665;14;1196825806980000 

Schätzen Sie Ihre Hilfe.

Antwort

4
awk -v OFS=';' '{$1=$1}1' file 

$1=$1 ist ein Trick OFS=';'$0 mit dem neuen Separator neu zu erstellen.

+0

das funktioniert perfekt .... – OXXO

+1

@EdMorton Kann nicht mit dir über 'awk' argumentieren;) Danke, ** wieder **! Fehlerhafter Code und es wurden nur 3 Zeichen gespeichert. – PesaThe

4

sed -r 's/ +/;/g' < file.txt

2

Verwenden

tr -s " " ";" < file 

und liest das Handbuch: https://wiki.ubuntuusers.de/tr/

es
Squeeze mehrere Vorkommen der Zeichen in den letzten Operanden aufgeführt (entweder Zeichenfolge1 oder Zeichenfolge2) in der Eingabe in eine einzelne Instanz des Charakters. Dies geschieht, nachdem alle Löschung und Übersetzung abgeschlossen ist.

Verwandte Themen