LINUX.ORG.RU
ФорумAdmin

LICQ и её history


0

0

есть ли какая-нибудь команда в этой чудной программе (я имею в виду LICQ) для сохранения её хистори в текстовые файлы? В нормальном читабельном формате, с нормальными датами и никами. Наподобие как это делает виндовая аська.

Спасибо.

anonymous
Ответ на: комментарий от parser

Дык а ты формат этого файла смотрел??? Там даты задаются толи в миллисекундах от дня падения тунгусского метеорита, толи ото дня взятия бастилии.. хз... Мне нужно перевести этот файл в читабельный. К примеру , еще раз повторюсь, аська под винду сохраняет хистори в текстовой файл, очень наглядного и читабельного вида. Хочу также, как это можно сделать из файла LICQ history

anonymous
()
Ответ на: комментарий от anonymous

Брысь man gawk, man bash, man grep, man cut, man cat

Почему так резко? Потому, что заслужил.
Вот написанные за 20 минут сценарии:

Файл licq-userinfo.sh - выдает значение заказанного
атрибута для укзанного UIN:

#!/bin/sh

if [ "_$1" = "_" ]
then
    echo "Usage: $0 <uin> [<attribute name>]
Samples:
$0 13376563 cellularphone -- get cellphone for user with UIN 13376563
$0 13376563 name          -- get name for UIN 13376563
$0 13376563               -- get alias for UIN 13376563" >&2
    exit 1
fi

if [ "_$2" = "_" ]
then
    param="Alias"
else
    param="$2"
fi

if [ ! -e ~/.licq/users/"$1".uin ]
then
    echo "Userinfo for UIN=\"$1\" not found" >&2
    exit 1
fi

echo `cat ~/".licq/users/$1.uin" | grep -i "^$param = " | cut -f 2- -d "="`

Файл licq-history.sh - выдает историю для заказанного
UIN с расшифрованным временем:

#!/bin/sh

if [ "_$1" = "_" ]
then
    echo "Usage: $0 <uin>" >&2
    exit 1
fi

if [ ! -e ~/.licq/history/"$1".history ]
then
    echo "History for UIN=\"$1\" not found"
    exit
fi

cat ~/.licq/history/"$1".history 2>/dev/null | \
gawk -F " " \
'function GetTxtTime(a) { return strftime("%d.%m.%Y %H:%M:%S",a); }
{
    if ($1 == "[") {
        if ($2 == "R" ) {
            print $1" Принято в "GetTxtTime($(10))" "$(11)" "$12" "$(13);
        } else {
            print $1" Отправлено в "GetTxtTime($(10))" "$(11)" "$12" "$(13);
        }
    } else {
        print $0;
    }
}'

Файл licq-history-2.sh - выдает историю для заказанного
UIN с расшифрованным временем и типа красиво оформленную:

#!/bin/sh

infname="licq-userinfo.sh"

if [ "_$1" = "_" ]
then
    echo "Usage: $0 <uin>" >&2
    exit 1
fi

if [ ! -e ~/.licq/history/"$1".history ]
then
    echo "History for UIN=\"$1\" not found"
    exit
fi

appdir=`dirname $0`
if [ "_$appdir" = "." ]
then
    if [ "_"`which $infname` = "_" ]
    then
        appdir=""
    else
        appdir="."
    fi
fi

infname="$appdir/$infname"

if ! "$infname" "$1" >/dev/null 2>/dev/null
then
    echo "User with UIN=\"$1\" not found in contact list" 2>&1
    exit 1
fi

ualias=`$infname $1`
if [ "_$ualias" = "_" ]
then
    ualias="$1"
fi

export ualias

cat ~/.licq/history/"$1".history 2>/dev/null | \
gawk -F " " \
'function GetTxtTime(a) { return strftime("%d.%m.%Y %H:%M:%S",a); }
{
    if ($1 == "[") {
        if ($2 == "R" ) {
            print "[ Received on "GetTxtTime($(10))" from "ENVIRON["ualias"]" ]";
        } else {
            print "[ Sent on "GetTxtTime($(10))" to "ENVIRON["ualias"]" ]";
        }
    } else {
        print $0;
    }
}'



no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.