Отправляет email-рассылки с помощью сервиса Sendsay

sms gate подскажите чем обрезать 160 символов

Здравствуйте!

Есть телефон, соединенный с компом через data кабель. Захотелось сделать sms
gate, чтобы я писал на определенный ящик email, а мне прихдила смс с телом письма.

Создал .procmailrc такого содержания

:0
* ^Subject:.*+[0-9]
{
SUBJECT=`formail -xSubject:`
BODY=`sed -e '1,/^$/ d' -e 'y/абвгдезийклмнопрстуфхцыя/abvgdezijklmnoprstufxcya/'
-e 'y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫЯ/ABVGDEZIJKLMNOPRSTUFXCYA/'`

:0
|/usr/local/bin/gsmsendsms -d /dev/ttyS0 $SUBJECT "$BODY"
}
Все работает, за исключением одного. Если тело сообщения больше 160 символов,
то программа не может отослать смс.

Какой командой можно обрезать первые 160 символов в теле сообщения?

Все, что я смотрел работает со строками, а вот с символами как..

Ответить   Wed, 31 Aug 2005 15:55:23 +0400 (#427549)

 

Ответы:

On 8/31/05, mik <sivchen***@l*****.ru> wrote:

письма.

==8<==

Можно такой скрипт на питоне:

python -c 'import sys; sys.stdout.write(sys.stdin.read()[:160])'

Ответить   Wed, 31 Aug 2005 18:07:34 +0400 (#427639)

 

В сообщении от 1125500854 секунд после начала Эпохи Vladimir Efremov
написал(а):

Ну это уже слишком.

| head -c 160

Не проще будет?

Ответить   Konstantin Korikov Thu, 1 Sep 2005 05:30:51 +0300 (#428035)

 

Конечно проще, но работает, увы, не везде (ключ -c -- это рвсширение POSIX)

Ответить   Thu, 1 Sep 2005 11:34:34 +0400 (#428122)

 

В сообщении от 1125563674 секунд после начала Эпохи Vladimir Efremov
написал(а):

Это вы намекаете на *BSD?

Ответить   Konstantin Korikov Fri, 2 Sep 2005 05:17:45 +0300 (#428900)

 

Солярис ешё...

Ответить   Fri, 2 Sep 2005 14:28:19 +0400 (#429155)

 

On Thu, 1 Sep 2005 05:30:51 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

Спасибо за ключик к команде. Но почему-то не хочет работать :(

BODY=`sed -e '1,/^$/ d' -e 'y/абвгдезийклмнопрстуфхцыэя/abvgdezijklmnoprstufxcyea/'
-e 'y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫЭЯ/ABVGDEZIJKLMNOPRSTUFXCYEA/' -e 'y/ж/j/' -e 'y/Ж/J/'
-e 'y/ч/4/' -e 'y/Ч/4/' -e 'y/ш/s/' -e 'y/Ш/S/'|head -c 160`

Смс вообще пустое приходит. Пробовал назначать переменную в командной строке
все нормально обрезает:

mik@m2# BODY=`cat test| sed -e 'y/абвгдезийклмнопрстуфхцыэя/abvgdezijklmnoprstufxcyea/'
-e 'y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫЭЯ/ABVGDEZIJKLMNOPRSTUFXCYEA/' -e 'y/ж/j/' -e 'y/Ж/J/'
-e 'y/ч/4/' -e 'y/Ч/4/' -e 'y/ш/s/' -e 'y/Ш/S/'|head -c 30`
mik@m2# echo $BODY
#testovyj skript ls -l /8G/Pho

Может я не разобрался с особенностями procmail'a?

ps: python на машине не стоит. Ставить его и пробовать из-за такой ерунды не
хочется.

Ответить   Thu, 1 Sep 2005 12:19:31 +0400 (#428154)