Automator diff Workflow
Ich habe öfter mal das Bedürfnis 2 Dateien zu vergleichen. Das Unix-Tool
diff
eigenet sich dafür bestens, allerdings ist es aufwändig jedesmal das
Terminal zu öffnen und lange Pfade von Hand einzutippen. Da ich schon länger
mal was sinnvolles mit Apple's Automator machen wollte, war das hier ein gutes Experiment.
Schon 3 Aktionen reichen um die geforderte Funktionalität zu bieten. Zuerst werden die ausgewählten Finder Objekte abgefragt, dann ein AppleScript ausgeführt und abschließend ein Shell-Skript ausgeführt.
Listing AppleScript:
on run {input, parameters} try do shell script "diff -wU3 " & POSIX path of ((item 1 of input) as alias) & " " & POSIX path of ((item 2 of input) as alias) & " > /tmp/diff.tmp.diff" end try end run
Listing Shell-Skript:
open -a TextMate /tmp/diff.tmp.diff\ && sleep 2 && rm -f /tmp/diff.tmp.diff
Das ganze aus dem Automator heraus gesichert als
~/Library/Workflows/Applications/Finder/diff.workflow
und schon steht es im Kontext-Menü des Finders zur Verfügung.
Man kann jetzt 2 (oder mehr, es werden jedoch nur die ersten Beiden
berücksichtigt) Dateien markieren und aus dem Kontext-Menü unter Automator
diff
auswählen um danach in seinem Lieblings-Editor (hier: TextMate) die `
diff -Ausgabe zu sehen. TextMate bietet übrigens Syntax-Highlight für diffs.
Automator Workflow herunterladen (4KB)
Thank you for your tips on executing DIFF via Automator. I'm using this at work to gain efficiencies. -G4M
Geschrieben von G4Monster 1 Jahr, 3 Monate nach Veröffentlichung des Blog-Eintrags am 17. Feb. 2007, 02:17. Antworten
I'm glad to hear that my post was useful for you - although it's in german.
Geschrieben von Arne 1 Jahr, 3 Monate nach Veröffentlichung des Blog-Eintrags am 17. Feb. 2007, 04:32. Antworten
Irgendwie scheint der Workflow nicht richtig zu funktionieren. Nachdem ich zwei Dateien vergleichen lassen habe, wird mir in Textmate nur eine leere Datei angezeigt und das obwohl die Dateien definitiv Unterschiede haben. Bei den Dateien handelt es sich um PHP-Dateien.
Geschrieben von Christian Beier 1 Jahr, 5 Monate nach Veröffentlichung des Blog-Eintrags am 3. Mai 2007, 12:27. Antworten
Hi Christian,
hast du die neuere Version: http://www.arnebrodowski.de/blog/93-diff-Workflow-Update.html
ausprobiert?
Ansonsten kann es auch sein, dass durch die diversen Updates von Apple irgendwas an den benutzen Automator Funktionen anders ist. Der Workflow hier ist ja schon ziemlich alt. Vielleicht ist aber auch einfach nur mein Code fehlerhaft - ich hab den Workflow selbst schon lange nicht mehr benutzt, da es in den X-Code Developer Tools ein viel besseres Programm zum Vergleichen von Dateien gibt. Leider fällt mir der Name grad nicht ein.
Geschrieben von Arne 1 Jahr, 5 Monate nach Veröffentlichung des Blog-Eintrags am 3. Mai 2007, 19:35. Antworten
Du meinst sicherlich FileMerge. Nachdem ich die 2 GByte Developer-Tools heruntergeladen habe, habe ich dies nun auch. Allerdings kommt es mit meinen PHP-Dateien nicht so richtig klar. Jedenfalls findet es ständig Ungleichheiten wo keine existieren.
Leider habe ich nicht gesehen, dass es eine neue Version gibt. Ich werde die in den nächsten Tagen einmal ausprobieren und dir dann berichten.
Geschrieben von Christian Beier 1 Jahr, 5 Monate nach Veröffentlichung des Blog-Eintrags am 4. Mai 2007, 22:50. Antworten
Wieso lange Pfade ins terminal eingeben? Dafür gibt es doch drag&drop beim Mac. Einfach Datei ins Terminal ziehen und man hat den Pfad ;)
Geschrieben von Bastian Kroll 3 Jahre, 9 Monate nach Veröffentlichung des Blog-Eintrags am 12. Aug. 2009, 16:49. Antworten