Datei letzte Zeile einlesen

D

DaPetra

Mitglied
Thread Starter
Dabei seit
10.12.2006
Beiträge
78
Reaktionspunkte
4
Hi,
brauche nochmal eure Hilfe :)

Kann mir jemand erklären wie ich eine Textdatei, mit Applescript einlesen kann und dann die letzte Zeile einer Variablen zuweise, die ich dann im Script weiterverwenden kann.

Ich habe schon so viele Sachen ausprobiert aber irgendwie komme ich nicht weiter !

Gruß DaPetra
 
Hallo,

• read file
• paragraphs of
• item (count of myParagraphs)

Viele Grüße
 
...
Ich habe schon so viele Sachen ausprobiert aber irgendwie komme ich nicht weiter !
...
Was denn?
Wir wollen immer Code sehen ;)

Code:
-- die Variable myFile enthält einen Verweis auf die Datei
set myContent to last paragraph of (read myFile)
 
Klar ich habe immer wieder verschiedenes ausprobiert und habe jetzt als letzten Stand folgendes Script.
Code:
set alleZeilen to paragraphs of (read file ((path to "desk" as text) & "calls.log"))
repeat with eineZeile in alleZeilen
	set AppleScript's text item delimiters to ">"
	display dialog eineZeile
end repeat

mit diesem Code kann ich zwar jede Zeile auslesen und per OK bestätigen aber so das ich einfach nur die letzte Zeile bekomme klappt nicht und ich weis nicht wie ich die Datei einlesen kann wenn sie nicht auf dem Desktop liegt sondern unter Lib u.s.w.

Gruß
DaPetra
 
set ausgabe to do shell script "tail -n 1 /pfad/zur/datei"
 
Na toll :-{ eine Zeile macht das was ich jetzt schon seit heute vormittag probiere mit AS zu lösen !

Vielleicht kann ich gleich noch eine Frage dranhängen ! In dieser letzten Zeile gibt es eine Zeichenfolge an der ich trennen möchte, es sind die Zeichen " -> "
also in Worten, ein Leerzeichen, ein Minus, ein grösser Zeichen und nochmal ein Leerzeichen. Diese Zeichen können aber einzeln auch vorkommen, aber nur einmal in dieser Kombination und ich bräuchte alles vom Zeilenanfang bis eben vor dem ersten Leerzeichen.

Ist für mich ehrlich unlösbar, aber vielleicht eine kleine Herausforderung für euch !

Gruß
 
Zuletzt bearbeitet:
So ich habe es jetzt einfach noch über awk gewurschtelt und folgender Code bringt mir das richtige Ergebnis:
Code:
set ausgabe to do shell script "tail -n 1 '/Pfad/zur/Datei' | awk -v 'FS= -> ' '{print $1}'"

Gruß
DaPetra
 
set ausgabe to do shell script "tail -n 1 /pfad/zur/datei"
Oder mit "Vanilla"-AppleScript:
PHP:
set alleZeilen to paragraphs of (read file ((path to "desk" as text) & "calls.log"))
set letzteZeile to item -1 of alleZeilen

Ciao
Farid
 
Zurück
Oben Unten