# zeichenkette auseinander nehmen



## gadgetelos (18. April 2007)

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 
	
	
	



```
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


----------



## Matthias Reitinger (18. April 2007)

Hallo,

probier's mal mit sed:

```
sed 's/[[:space:]]\+/\n/g' namen.txt
```

Grüße,
Matthias


----------



## gadgetelos (18. April 2007)

Danke erstmals

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

danke


----------



## Matthias Reitinger (18. April 2007)

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 (*s*ubstitute). 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


----------

