#!/bin/sh # nopl - dekodowanie QP/Base64 i wycinanie polskich znaków # Sebastian Zagrodzki # Jacek Fiok # Strona domowa: sms.jfiok.org [ -r /usr/local/share/sms/smsrc ] && . /usr/local/share/sms/smsrc [ -r /etc/smsrc ] && . /etc/smsrc [ -r $HOME/etc/smsrc ] && . $HOME/etc/smsrc [ -r $HOME/.smsrc ] && . $HOME/.smsrc [ -z "$MM" ] && [ -x /bin/mmencode -o -x /usr/bin/mmencode ] && MM="mmencode" [ -z "$MM" -a -x /usr/local/bin/mmencode ] && MM="/usr/local/bin/mmencode" [ -z "$MM" -a -x $HOME/bin/mmencode ] && MM="$HOME/bin/mmencode" if [ -z "$MM" ]; then echo "Nie znalazłem programu mmencode!" exit 127 fi while read REPLY do while echo "$REPLY" | grep -q '=?[^?]*?.?[^?]*?=' do KOD="`echo \"$REPLY\" |\ sed 's/.*=?\([^?]*\)?.?[^?]*?=.*/\1/' |\ sed 's#/#\\\\/#'`" ENC="`echo \"$REPLY\" |\ sed 's/.*=?[^?]*?\(.\)?[^?]*?=.*/\1/' |\ sed 's#/#\\\\/#'`" STARE="`echo \"$REPLY\" |\ sed 's/.*=?[^?]*?.?\([^?]*\)?=.*/\1/'`" case "$ENC" in q|Q) NOWE="`echo \"$STARE\" |\ $MM -q -u | tr '_' ' '`" ;; b|B) NOWE="`echo \"$STARE\" |\ $MM -u`" ;; esac NOWE="`echo \"$NOWE\" |\ sed 's#/#\\\\/#g' |\ sed 's#&#\\\&#'`" STARE="`echo \"$STARE\" |\ sed 's#/#\\\\/#g'`" REPLY="`echo \"$REPLY\" |\ sed 's/=?'\"$KOD\"'?'\"$ENC\"'?'\"$STARE\"'?=/'\"$NOWE\"'/'`" done # następne dwie linijki powoduj± zamianę polskich znaków na # zwykłe znaki ascii. Je¶li Twój telefon "rozumie" polskie # krzaczki: możesz to wykomentować. REPLY=`echo "$REPLY" |\ tr '±ćęłń󶿼ˇĆĘŁŃӦݬ' 'acelnoszzACELNOSZZ'` echo "$REPLY" done