Obsługa SQLite w Midnight Commander
29 listopada 2007, 20:33:58Podglądanie (F3) plików w MC jest na ogół mało wygodne, gdy są to pliki binarne. Można jednak nauczyć MC, aby wyświetlał ich zawartość zinterpretowaną przez odpowiedni program rozumiejący dany format i przedstawiający jego zawartość w zrozumiałej formie.
Wymyśliłem dziś, żeby zastosować ten trick do plików SQLite, na których ostatnio pracuję. Zabawa sprowadza się do dodania do pliku /etc/mc/mc.ext (w Slackware /usr/share/mc/) następujących regułek:
type/^SQLite.*3
View=%view{ascii} sqlite3 %f .dump
Open=sqlite3 %f
Edit=sqlite3 %f
type/^SQLite
View=%view{ascii} sqlite %f .dump
Open=sqlite %f
Edit=sqlite %f
I już możemy wchodzić uruchamiać linię poleceń SQLite po naciśnięciu Entera lub klawisza edycji (F4), a co najważniejsze - widzieć w ludzkiej formie zawartość bazy danych po naciśnięciu F3.
Powyższe można zmodyfikować, np. aby wyświetlać jedynie strukturę bazy danych, bez zawartości. Wystarczy w tym celu zamienić .dump na .schema.
Można też dopisać sobie konkretne regułki na pliki o danej nazwie. Np. do pliku cookies.sqlite znajdującego się w profilu Firefoksa, można wyobrazić sobie filtr:
regex/^cookies\.sqlite$
View=%view{ascii} sqlite3 -line %f 'select name || "=" || value as cookie, host from moz_cookies'
Open=sqlite3 %f
(Uwaga: trzeba ten filtr umieścić powyżej ogólniejszej regułki na wszystkie pliki SQLite 3, inaczej tamta zadziała pierwsza.)
W najbliższym czasie rozszerzę ten wpis o info, jak wygodnie edytować pliki SQLite w MC (poprzez edycję kodu).