Eksportowanie historii z Gajima

26 stycznia 2010 20:57:52 | Kategorie: OpenSource Techblog

Mój ulubiony klient Jabbera trzyma logi w SQL. To raczej dobrze niż źle. Jednak w tym układzie nie można po prostu przekazać komuś pliku z jego historią. Nie będzie to prosty grep. Jeśli chcemy poratować kogoś częścią swojej historii rozmów, trzeba użyć czegoś w stylu poniższego:

sqlite3 logs.db 'select strftime("%Y/%m/%d %H:%M:%S", m.time, "unixepoch"), kind, message from logs m join jids j on m.jid_id==j.jid_id where jid like "Ty@Twoja.domena" and m.time > 1234567890 and m.time < 1325476870;' | sed -e 's/|4|/ <Ty>/' | sed -e 's/|0|/ *Ty* /' | sed -e 's/|6|/ <ja>/' > logi.txt

Oczywiście wypada podmienić Ty@Twoja.domena na JID rozmówcy, Ty na jego nicka, ja na swojego i obie duże liczby na odpowiednie timestampy.

Komentarze do notki Eksportowanie historii z Gajima

  • Rebel dnia 26 stycznia 2010 o 21:23:04:

    nie jestem pewien ale chyba wersja beta tlena na linuxa też ma archiwum w sql... ?

  • Remigiusz 'lRem' Modrzejewski dnia 26 stycznia 2010 o 21:23:42:

    Nie wiem, nie mam Linuksa chwilowo ;)

  • Minio dnia 27 stycznia 2010 o 13:36:59:

    Tych trzech sedów nie da się zamienić na jednego? Na oko:

    sed -e 's/|[46]|/ /;s/|0|/ *Ty* /'

    Ale nie mam żadnego pliku źródłowego by móc potwierdzić.

  • Remigiusz 'lRem' Modrzejewski dnia 27 stycznia 2010 o 13:43:52:

    LoL, nie zauważyłem wcześniej, że wcięło mi kawałek kodu. Teraz widać, że nie aż tak prosto. Ale owszem, można to sprowadzić do jednego. Tylko ja wolę konstruować rurki krok po kroku, więc w tej wklejce widać kolejność w jakiej interpretowałem komunikaty ;)

    Jak by już to optymalizować, to wypadałoby zacząć od SQL-a.

Komentuj Dodaj komentarz: