worm
Goto Top

Syntax for-Befehl (unter Unix)

Hallo zusammen

Ich muss ein Shell-Script (SH auf Tru64) erstellen, worin ich aus einer Text-Datei Daten auslese.

Für jede Zeile soll ein bestimmter Block ausgeführt werden, was man ja sehr gut mit for machen kann.

Allerdings habe ich bis jetzt immer nur Dateien verwendet, wo die Werte mit einem Leerschlag voneinander getrennt waren...

Das Input-File hat aber jetzt ein Komma als Delimiter...

Weiss jemand, mit welchem Parameter man den Delimiter angeben kann?

Besten Dank schon mal im Voraus für die Unterstützung!

Gruss Rolf

Content-ID: 29027

Url: https://administrator.de/forum/syntax-for-befehl-unter-unix-29027.html

Ausgedruckt am: 21.04.2025 um 10:04 Uhr

miniversum
miniversum 27.03.2006 um 12:41:24 Uhr
Goto Top
Das geht mit "delims=,"

also z.B.:
FOR /F "eol=; tokens=2,3* delims=, " %i in (Datei.txt) do @echo %i %j %k

miniversum
WORM
WORM 27.03.2006 um 13:10:01 Uhr
Goto Top
Hallo miniversum

Vielen Dank für den Hinweis...

Aber leider handelt es sich bei Deinem Beispiel um die Syntax auf DOS/Windows in einer Batch-Datei, welche auf UNIX leider nicht funktioniert face-sad

Ich bin also auf der Suche nach dem Equivalent für UNIX.

Gruss Rolf
stpe
stpe 27.03.2006 um 21:12:35 Uhr
Goto Top
Um Strings mit einem Delimiter zu unterteilen, benutze ich awk mit dem Parameter "-F". Als kleines Beispiel:

echo eins.zwei.drei |awk -F. ' {print $2}'  

gibt "zwei" aus.

Gruss
Stefan
WORM
WORM 28.03.2006 um 09:09:38 Uhr
Goto Top
Hallo Stefan

Vielen Dank, so funktioniert's...

Gruss Rolf