Ksh- werte aus zeilee auslesen
werte aus zeilen auslesen
die zu suchenden werte (e-mail adresse) stehen an unterschiedlichen stellen
Folgendes Problem
Ich habe eine Datei die pro Zeile verschiedenste Werte enthaelt.
Unter anderem auch eine E-Mail Adresse
Dummerweise steht die mail adresse nicht immer an der gleichen position
zeile 1: wert1 wert2 wert3 wert4 wert5 wert6 name@mail.com wert8
zeile 1: wert1 wert2 wert3 wert4 name@mail.com wert6
das haengt damit zusammen das einige Werte fur bestimmte Benutzer nicht zutreffen und daher einfach wegfallen
ich habe auch keinen Einfluss auf die Ursprungsdatei, die muss ich von einem Server runterladen
ich habe schon folgendes probiert, allerdings scheitert es daran das sich die Position des Wertes aendert
cat datei | awk '{print $31}
wer kann helfen?
die zu suchenden werte (e-mail adresse) stehen an unterschiedlichen stellen
Folgendes Problem
Ich habe eine Datei die pro Zeile verschiedenste Werte enthaelt.
Unter anderem auch eine E-Mail Adresse
Dummerweise steht die mail adresse nicht immer an der gleichen position
zeile 1: wert1 wert2 wert3 wert4 wert5 wert6 name@mail.com wert8
zeile 1: wert1 wert2 wert3 wert4 name@mail.com wert6
das haengt damit zusammen das einige Werte fur bestimmte Benutzer nicht zutreffen und daher einfach wegfallen
ich habe auch keinen Einfluss auf die Ursprungsdatei, die muss ich von einem Server runterladen
ich habe schon folgendes probiert, allerdings scheitert es daran das sich die Position des Wertes aendert
cat datei | awk '{print $31}
wer kann helfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 135799
Url: https://administrator.de/forum/ksh-werte-aus-zeilee-auslesen-135799.html
Ausgedruckt am: 23.12.2024 um 04:12 Uhr
4 Kommentare
Neuester Kommentar
folgender Ablauf:
- Lese Zeile ein
- suche das @ Zeichen
- suche das Leerzeichen vor dem @ und nach dem @ Zeichen
Nun musst du nur noch alles was vor dem vorderen Zeichen ist löschen und alles was nach dem hinteren Leerzeichen ist ebenso.
Was übrig bleibt ist die Mailadresse, egal wo sie im String steht.
- Lese Zeile ein
- suche das @ Zeichen
- suche das Leerzeichen vor dem @ und nach dem @ Zeichen
Nun musst du nur noch alles was vor dem vorderen Zeichen ist löschen und alles was nach dem hinteren Leerzeichen ist ebenso.
Was übrig bleibt ist die Mailadresse, egal wo sie im String steht.
auch dir ein Moin,
@h41:
doch besser so herum?
lese in jeder zeile jeden von einem Leerzeichen getrennten Buchstabensalat ein - wenn der Salat ein @hat, dann den Wert in eine neue Datei schreiben.
@h41:
doch besser so herum?
lese in jeder zeile jeden von einem Leerzeichen getrennten Buchstabensalat ein - wenn der Salat ein @hat, dann den Wert in eine neue Datei schreiben.
als mal ein kleines Beispiel in VBS anhand deiner 2 Zeilen:
Falls deine Originaldatei im Textformat vorliegt, dann lies diese zeilenweise aus, wie meine Vorredner schon angedeutet haben und werte eventuell jede Zeile so aus.
Gruss
Tsuki
Zeile1 = "wert1 wert2 wert3 wert4 wert5 wert6 name1@mail.com wert8"
Zeile2 = "wert1 wert2 wert3 wert4 name2@mail.com wert6"
Temp = Split(Zeile1 , " " )
for i = 0 to Ubound(Temp)
if Instr(1,Temp(i), "@") > 0 then
Wscript.Echo Temp(i)
End If
Next
Temp = Split(Zeile2 , " " )
for i = 0 to Ubound(Temp)
if Instr(1,Temp(i), "@") > 0 then
Wscript.Echo Temp(i)
End If
Next
Falls deine Originaldatei im Textformat vorliegt, dann lies diese zeilenweise aus, wie meine Vorredner schon angedeutet haben und werte eventuell jede Zeile so aus.
Gruss
Tsuki