Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Unix Command
Unix Command
m.yellow
19.11.08
12:46
Hallo an alle Unix-Commandline-Kenner!
Ich möchte mir ein Applescript basteln, welches mit Hilfe der Toodledo-API meine Tasks per Growl ausgibt. Soweit so gut, nur liefert der zugehörige Befehl 'toodledo tasks', den ich mittels
set all_tasks to do shell script "/usr/bin/toodledo tasks" as text
aufrufe folgendes Format zurück:
<7304841> -- !high @[uni] #[12/05/2008 12:00 AM] Der_Todo_Text
<Todo-Nr> -- !Priorität @[Kontext] #[Datum UZeit] Task
da das nicht sonderlich schön aussieht, würde ich es gerne formatieren. Ich hab mal wo aufgeschnappt dass das glaub ich mittels "grep" oder ähnlichem cmd möglich ist, nur weiß ich leider nicht wie ich das Format angeben soll.
set all_tasks to do shell script "/usr/bin/toodledo tasks | grep ?????" as text
Hoffe mir kann jemand helfen,
Danke im Voraus
Hilfreich?
0
Kommentare
apfelmuss
19.11.08
13:14
grep bringt wahrscheinlich nichts. awk erscheint mir an dieser Stelle besser.
So sollte folgender Befehl:
set all_tasks to do shell script "/usr/bin/toodledo tasks | awk '{print $1}'" as text
die Todo-Nr. allerdings noch mit den Klammern liefern.
Hilfreich?
0
iCode
19.11.08
13:26
Folgende 3 Anregungen:
1. Schau Dir mal intesiv die man-Pages dieses "toodledo" an. Eigentlich sollte ein Tool so was selbst können.
2. Wenn "toodledo" das nicht kann, dann sollte imho sed oder awk das Werkzeug deiner Wahl sein.
3. Mache Dich auch mit Regulären Ausdrücken vertraut.
Hilfreich?
0
m.yellow
19.11.08
13:42
danke für eure kommentare, awk scheint mir das geeignete mittel zu sein ... werde mal schaun ob ich mich damit anfreunden kann, vorerst danke!
Hilfreich?
0
Resistance
19.11.08
13:50
/usr/bin/toodledo tasks | awk ' { printf "%d %s %s %s %s%s %s\n", substr($1,2), substr($3,2), substr($4,3,length($4)-3), substr($5,3),$6,tolower(substr($7,1,length($7)-1)), $8 } '
erzeugt eine Spaltenliste ohne Leerzeichen, die einfach weiterverarbeitet werden kann. Der Todo-Text muß allerdings als "1 Wort" auftauchen (so wie im Bespiel) sonst sind noch Änderungen notwendig.
Hilfreich?
0
m.yellow
19.11.08
14:06
Ok, eine Kombination aus awk und sed scheint für mich passend zu sein ...
der vorbereitende sed - Kommand will aber nicht ganz so wie ich will ...ich will schrittweise die Sonderzeichen aus dem Text entfernen, damit ich dann bei awk mit $1, $2 etc. nur den entsprechenden text bekomme.
Beispieltext:
<7339615> -- !high @[uni] #[12/05/2008 12:00 AM] TODO
sed 's/[\[\<\>!@#-]//g'
liefert bei mir
7339615 high uni] 12/05/2008 12:00 AM] TODO
soweit so gut, wenn ich jetzt aber "]" auch noch entfernen möchte und mit \] kodiere, geht plötzlich nichts mehr ....
sed 's/[\[\<\>!\]@#-]//g'
liefert wieder
<7339615> -- !high @[uni] #[12/05/2008 12:00 AM] TODO
also den unveränderten Text ...
Woran könnte das liegen bzw. was mach ich falsch?
Hilfreich?
0
m.yellow
19.11.08
14:29
Resistance
hab deinen Beitrag irgendwie überlesen ... das funktioniert super, danke!!
der text ist allerdings länger als ein wort, kann das notbedürftig ja mit print .... %s %s %s %s , $9, $10, $11, $12 ausgeben und die anzahl der worte so beschränken, aber gibts vl auch eine möglichkeit alle auszugeben?
Hilfreich?
0
iCode
19.11.08
15:15
Du kannst mal versuchen $8 hierdurch zu ersetzen.
substr($0,index($0,"M] ")+3)
Hilfreich?
0
iCode
19.11.08
16:36
Bei sed kannst Du die Klammern auch in Hochkomma setzten.
ed 's/['\]\['<>!@#-]//g'
Hilfreich?
0
m.yellow
20.11.08
17:50
danke für eure hilfe!
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Countdown 2024: Apple mit Preisnachlass für 31 ...
Kurz: Trump unterstützt Musk als TikTok-Besitze...
PIN-Code erraten: Dauer
Bloomberg: Komplett neues MacBook Pro kommt 202...
Leak in macOS 15.2 Sequoia: Neues MacBook Air k...
Vor 18 Jahren: iPhone, Apple TV und "Apple Inc."
Bilder geben Hinweis: Mac mini M4 mit austausch...
iPod-Vater Tony Fadell wollte Sonos kaufen – St...