zeichenkette auseinander nehmen

gadgetelos

Grünschnabel
hallo
ich habe eine textdatei namens namen.txt

Diese Datei sieht wie folgt aus:

bert marvin sven berta

nun möchte ich diese Datei durchgehen und die einzelnen Namen in eine weitere Datei schreiben aber so dass sie untereinander stehen wie zb:
bert
marvin
sven
berta

mit
Code:
cut -f1 -d\  namen.txt
krieg ich den ersten Damen bis zum Abstand

wie kann ich nun dies für alle machen, geht ja schlecht mit f2 f3 usw da ich doch die Anzahl der Namen nicht immer gleich sind.

danke für eure hilfe
 
Danke erstmals

könntest du mir nur noch kurz die verschieden Parameter erklären
dann kann ich es besser nachvollziehen

danke
 
Hallo,

sed ist eine kleine Skriptsprache, die man wunderbar zur Textverarbeitung einsetzen kann. Der erste Parameter ist hier das eigentliche sed-Skript. Der zweite Parameter gibt die Datei an, die zeilenweise vom angegebenen Skript abgearbeitet wird.

Ein Ausdruck der Form s/alt/neu/modifikatoren dient zum Suchen und Ersetzen (substitute). alt gibt den Begriff an, nach dem gesucht werden soll, neu die Ersatzzeichenkette.

alt wird dabei als Regulärer Ausdruck interpretiert. [[:space:]] steht hier für ein beliebiges Leerraumzeichen (Leerzeichen, Tabstopp…); das \+ dahinter besagt, dass davon beliebig viele, aber mindestens eines gefunden werden soll.

Ersetzt wird hier durch \n, was für einen Zeilenumbruch steht.

Der Modifikator g ganz am Ende gibt schließlich noch an, dass sämtliche Vorkommnisse der aktuellen Zeile ersetzt werden sollen.

Insgesamt bewirkt dieser Einzeiler also, dass die Datei namen.txt zeilenweise eingelesen wird, in jeder Zeile jede zusammenhängende Reihe von Leerzeichen durch einen Zeilenumbruch ersetzt und das Ergebnis auf die Standardausgabe geschrieben wird.

Grüße,
Matthias
 
Zurück