Newbie Applescript Fragen

  • Ersteller AMacMiniNow
  • Erstellt am

AMacMiniNow

Gast
Hi,

ich möchte mir Apple-Script beibringen (spreche fließend PHP, Perl, .NET (Relikt aus der Windows Zeit *g*) ... aber bei AppleScript bin ich ein absoluter Neuling :)

Als erstes möchte ich aus 500 HTML Dateien den HTML-Code rausschmeißen ... erstes Problem: Normalerweise mache ich das mit Regexp ... nur dazu finde ich nichts in der AppleScript Dokumentation. Gibt es sowas wie Plugin, dass man das nachrüsten kann?

Und: Kennt jemand ein gutes Tutorial für Apple-Script für Einsteiger? Bei mir geht es meistens darum, dass ich in einem Ordner umgefähr sehr viele Dateien habe und mit denen irgendwas machen möchte (Oder ist dafür Automator besser geeignet?)

Wäre dankebar für ein paar Wegweiser.
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Sowas wie die von dir beschriebene HTML->Text-Konvertierung ist meines Erachtens nach nicht die Stärke von AppleScript. Ich tät' dafür auch auf dem Mac ein Perlscript schreiben - das ist für sowas viel einfacher und schneller.

Zum fehlenden RegExp in AppleScript - du kannst dir da mit 'do shell script ...' behelfen - damit lassen sich dann Perl, sh/csh/bash etc in dein AppleScript einbinden. Hier ein Minibeispiel:

Code:
set theHTML to quoted form of (POSIX path of (choose file))
set theText to (do shell script "cat " & theHTML & " | perl -pe 's/<[^<>]*>//g'")

Es läßt dich ein File auswählen und übergibt den Pfad dann an eine Shellscriptzeile, die die Tags rausschmeisst und das Ergebnis wieder an eine AppleScript-Variable zurückgibt.

Ich hoffe, das hilft dir weiter ...

Grüße,

D.
 
  • Like
Reaktionen: 2 Mitglieder

pete

Gast
Hier ein paar rudimentäre Zeilen, die Dir eventuell eine Idee geben, wie man Texte mit AppleScript parsen kann.

Code:
return clearHTML(readFile(choose file))

-- clear html tags handler
on clearHTML(prmText)
	set varReturnString to ""
	set varStringList to convertToList(prmText, ">")
	repeat with varStringItem in varStringList
		set varString to convertToList(varStringItem, "<")
		set varReturnString to varReturnString & (item 1 of varString)
	end repeat
	return varReturnString
end clearHTML

-- convert a string to list
to convertToList(prmString, prmStringDelimiter)
	set saveDelim to AppleScript's text item delimiters
	set AppleScript's text item delimiters to (prmStringDelimiter as string)
	set varList to ((every text item of (prmString as string)) as list)
	set AppleScript's text item delimiters to saveDelim
	return (varList as list)
end convertToList

-- read from file
to readFile(prmPath)
	return (do shell script ("cat" & space & (quoted form of (POSIX path of (prmPath)))))
end readFile
 
Zuletzt bearbeitet von einem Moderator: