W dniu 2011-03-11 22:48, Dominik "Socek" Długajczyk:
Trochę zbaczam z tematu (i robię mały spam), ale czy próbowałeś mojego programu do czytania logów? http://socek.org/gh/ Nie wiem, czy rozwiązuje Twoje problemy, ale mam nadzieję, że tak.
Do logów właściwie napisałem swój własny skrypt wykorzystujący dołączone do ekg 'ekglogs'. Jest w załączniku, gdyby ktoś był zainteresowany. Opinie również mile widziane.
#!/bin/bash logfile="" lessarg="less -FR" if [ "$logfile" == "" ]; then echo echo 'Najpierw edytuj ten skrypt i wpisz do zmiennej logfile (na samej górze) ¶cie¿kê do twojego pliku z archiwum ekg. Standardowo ~/.gg/history' echo exit 1 fi if [ "$#" -lt 1 ]; then echo echo -e "Sposób u¿ycia: ekgl <\033[1;38mmsg\033[0;0m|\033[1;38mst\033[0;0m|\033[1;38msta\033[0;0m|\033[1;38mstb\033[0;0m|\033[1;38mstn\033[0;0m|\033[1;38mign\033[0;0m|\033[1;38mall\033[0;0m> [\033[1;38mnick\033[0;0m]" echo echo -e "\033[1;38mmsg\033[0;0m - wy¶wietla tylko wiadomo¶ci" echo echo -e "\033[1;38mst\033[0;0m - wy¶wietla tylko informacje o zmianach statusu (wszystkich)" echo echo -e "\t\033[1;38msta\033[0;0m - wy¶wietla tylko informacje o zmianach statusu na dostêpny" echo echo -e "\t\033[1;38mstb\033[0;0m - wy¶wietla tylko informacje o zmianach statusu na zaraz wracam" echo echo -e "\t\033[1;38mstn\033[0;0m - wy¶wietla tylko informacje o zmianach statusu na niedostêpny" echo echo -e "\033[1;38mign\033[0;0m - wy¶wietla tylko wiadomo¶ci od osób zignorowanych" echo echo -e "\033[1;38mall\033[0;0m - wy¶wietla ca³e archiwum" echo echo -e "\033[1;38mnick\033[0;0m - argument opcjonalny; wy¶wietla wiadomo¶ci/informacje o zmianach statusu tylko od podanego nicka" echo exit 1 fi if [ "$1" == "lign" ]; then echo; echo $(awk -F ';' '/__offline/ { print $4 }' .gg/userlist); echo fi if [ "$1" == "ign" ]; then if [ "$#" -lt 2 ]; then grep -E '(msgrecvign|chatrecvign)' $logfile | ekglogs -xrRsSCac | $lessarg else grep -E '(msgrecvign|chatrecvign)' $logfile | ekglogs -xrRsSCac -n "$2" | $lessarg fi fi if [ "$1" == "msg" ]; then if [ "$#" -lt 2 ]; then grep -v ^status $logfile | ekglogs -xrRsSCac | $lessarg else grep -v ^status $logfile | ekglogs -xrRsSCac -n "$2" | $lessarg fi fi if [ "$1" == "st" ]; then if [ "$#" -lt 2 ]; then grep ^status $logfile | ekglogs -xrRsSCc | $lessarg else grep ^status $logfile | ekglogs -xrRsSCc -n "$2" | $lessarg fi fi if [ "$1" == "sta" ]; then if [ "$#" -lt 2 ]; then grep ^status $logfile | grep ',avail$' | ekglogs -xrRsSCc | $lessarg else grep ^status $logfile | grep ',avail$' | ekglogs -xrRsSCc -n "$2" | $lessarg fi fi if [ "$1" == "stb" ]; then if [ "$#" -lt 2 ]; then grep ^status $logfile | grep ',busy$' | ekglogs -xrRsSCc | $lessarg else grep ^status $logfile | grep ',busy$' | ekglogs -xrRsSCc -n "$2" | $lessarg fi fi if [ "$1" == "stn" ]; then if [ "$#" -lt 2 ]; then grep ^status $logfile | grep ',notavail$' | ekglogs -xrRsSCc | $lessarg else grep ^status $logfile | grep ',notavail$' | ekglogs -xrRsSCc -n "$2" | $lessarg fi fi if [ "$1" == "all" ]; then if [ "$#" -lt 2 ]; then cat $logfile | ekglogs -xrRsSCc | $lessarg else cat $logfile | ekglogs -xrRsSCc -n "$2" | $lessarg fi fi