• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick
  • November - das bedeutet oftmals Herbstblues, grauer Himmel, Tristesse und Wetter, bei dem man gern im Warmen bleibt. Aber nur oftmals! Wir fordern Euch gern auf, gegen den Herbstblues anzukämpfen und hoffen, dabei hilft Euch unser aktuelles Monatsthema. Neugierig geworden? --> Zum Mitmachen bitte hier klicken

aus einer Log-Text möchte ich immer die letzte Zeile abrufen

MacHöppi

Erdapfel
Registriert
25.05.21
Beiträge
3
Hallo,
ich bräuchte ein Script welches mir die Letzte Zeile aus einer Log Datei ausliest, damit ich sie weiter an ein anderes Programm geschickt wird.

Ich habe eine Log-Text-Datei, sagen wir mal die heißt trackinfo.txt, wo meine gespielten Tracks gespeichert werden. In der ersten Zeile steht also der erste gespielte Track mit Interpret und Titel, In der zweiten der nächste usw usw. Das sieht dann ungefähr so aus:

1 Interpret - Titel
2 Interpret - Titel
3 Interpret - Titel
....

Nun möchte ich immer die Letzte Zeile im "Speicher" haben, damit diese dann an ein anderes Programm geleitet wird, welches dann die Daten überträgt.

Hatte auch erst schon überlegt, ob die Letzte Zeile immer erst in eine andere Textdatei abgespeichern werden muss, aber ich glaube den Schritt kann man sich sparen oder?
ich hab auch schon mal was angefangen, aber das ist glaube ich total falsch ;)

set trackinfo to path to desktop folder as string
set trackinfo to trackinfo & "tracklist.txt"
list_position("tracklist.txt", trackinfo)

on list_position(this_item, trackinfo)
repeat with i from 1 to the count of trackinfo
if item i of trackinfo is this_item then return i
end repeat
end
list_position

tell application "LadioCast"
set metadata song to trackinfo
end tell
 
Hallo,

die letzte Zeile einer Textdatei erhält du am einfachsten mit einem Shell Skript

Code:
set _theLastLine to do shell script "tail -1 $HOME/Desktop/tracklist.txt"

Gruß
 
  • Like
Reaktionen: MacHöppi
Hallo,

die letzte Zeile einer Textdatei erhält du am einfachsten mit einem Shell Skript

Code:
set _theLastLine to do shell script "tail -1 $HOME/Desktop/tracklist.txt"

Gruß

ok, vielen vielen dank.
sowas hatte ich schon probiert, ging aber die ganze zeit nicht. super, genial
kann ich das auch ohne zahl vor den titeln hinbekommen?
Beispiel bei mir steht dort immer:
1 Interpret - Titel
2 Interpret - Titel
3 Interpret - Titel ...

und ich hätte gerne nur "Interpret - Titel"
 
Hallo,

das entfernt die Zahl und das erste Leerzeichen am Anfang der Zeile:

Code:
set _theLastLine to do shell script "tail -1 $HOME/Desktop/tracklist.txt | sed 's/[^ ]* //'"

Gruß
 
Zuletzt bearbeitet:
cool, danke dir vielmals. genauso wollte ich das haben. TOP!
Wahnsinn was eine einzige Zile alles kann :)