Comments 95
Как-то вы странно описание «команд» привели, ибо awk (http://ru.wikipedia.org/wiki/AWK) — это язык такой, который работает с текстом, а не «выкусывает» нужные части…
Лучше зарегистрировать почту от Mail.Ru и поставить агент. А также получим отличный мессенджер.
Ага, он что, есть под Линукс?
Надеюсь это было ибо это феерический каммент.
Вот этот?!..

У Google тоже есть свой мессенджер :) Он более открытый: использует стандартный Джаббер протокол, а также позволяет общаться голосом.
И почту тоже проверяет, да.
Но у него менее… хм… попсовый :) интерфейс.

У Google тоже есть свой мессенджер :) Он более открытый: использует стандартный Джаббер протокол, а также позволяет общаться голосом.
И почту тоже проверяет, да.
Но у него менее… хм… попсовый :) интерфейс.
Не такой уж и «стандартный» протокол он использует. Например, Gtalk (сам сервер) меняет название jabber-ресурса клиента. Вообще при общение в связке jabber-сервер <-> Gtalk периодически возникают проблемы. Но в целом, да, это получше, чем велосипед от mail.ru.
Есть немного. Но по моему опыту проблемы были раньше. Последние пару лет проблем не наблюдаю ни в одном мессенджере, который я использовал.
> Протокол — XMPP
Так если протокол один, не кажется ли Вам, что как бы проблем быть не должно? Кстати, Jabber — это не «IM» (что бы Вы под этим термином не понимали), а всего лишь старое название XMPP, а ещё точнее: проекта из которого XMPP вырос.
> Мэйл-агент тоже на xmpp
Да ну?
agent.mail.ru/ru/developers/licence.html
Так если протокол один, не кажется ли Вам, что как бы проблем быть не должно? Кстати, Jabber — это не «IM» (что бы Вы под этим термином не понимали), а всего лишь старое название XMPP, а ещё точнее: проекта из которого XMPP вырос.
> Мэйл-агент тоже на xmpp
Да ну?
agent.mail.ru/ru/developers/licence.html
> Например, Gtalk (сам сервер) меняет название jabber-ресурса клиента
Что совершенно не запрещено протоколом.
Что совершенно не запрещено протоколом.
В линуксе полно всяких графических напоминалок и мультипротокольных IM, тема-то о другом. Не стоит думать, что это единственный способ узнать о количестве сообщений в ящике в линуксе.
я не собираюсь терпеть, когда анкета на Моём Мире автоматически восстанавливается после удаления, и терпеть 1,5к. спама в неделю, хотя ящик нигде не светил. И весь спам во входящих.
Прикольно.
Только вот не совсем пойму, вы разместили в Линукс для всех и по тексту применяете все к линуксу, а скриншот MacOS X. Это я к тому, что UNIX not LINUX.
Только вот не совсем пойму, вы разместили в Линукс для всех и по тексту применяете все к линуксу, а скриншот MacOS X. Это я к тому, что UNIX not LINUX.
Ну у нас нету блога UNIX для всех. А описанный материал будет наиболее интересен именно линуксоидам.
Ну почему? Мне интерестно и я на маке, А много людей на *BSD сидят, и им интерестнее с консолькой работать, чем большенству убунтовцев. Я не прав?
У вас есть конкретные предложения куда перенести пост, или вы просто потрепаться ради? :)
habrahabr.ru/blogs/nix/ например, чем плохо?
Набор утилит, которые тут использовались и там и там одинаков.
не, лучше в виде скриптика это оформить, нефиг пароль в истории оставлять.
золотые слова
Если есть доступ к профилю пользователя, то скриптик прочитать можно, а если доступа нет, то и история нелоступна будет. Хотя трудно представить, зачем это надо вне скриптов.
Ну, во первых, такого рода скриптики с паролями не желательно хранить в профиле (с правами пользователя)
А во вторых, к компьютеру могут разные люди случайно подойти. Ну не дело это короче.
А во вторых, к компьютеру могут разные люди случайно подойти. Ну не дело это короче.
А количество не содержится в
<fullcount>1</fullcount>?
Какой ужасный терминал :)
Вот за такое я люблю *nix
Так как команда получается длинная, то лучше «завернуть» ее в скрипт, как рекомендует sovnarkom, или воспользоваться другим полезным советом от commandlinefu.com — использование reverse-i-search.
О, добавлю скрипт в коньки.
curl -u username:password --silent «https://mail.google.com/mail/feed/atom» | grep -c ""
Так не проще посчитать кол-во новых сообщений?
Так не проще посчитать кол-во новых сообщений?
А вы сами ее пробовали? У меня постоянно результатом — 0
Пардон, не углядел. Правильно так:
curl -u username:password --silent «https://mail.google.com/mail/feed/atom» | grep -c "<empty>"
Если новых писем нет, то и <empty> отсутствует
curl -u username:password --silent «https://mail.google.com/mail/feed/atom» | grep -c "<empty>"
Если новых писем нет, то и <empty> отсутствует
У меня есть новые письма, но empty отсутствует. Количество новых писем эта команда не вернет. Я что-то не пойму кто из нас где запутался :)
entry наверно. Не empty
До прочтения писем в ящике:
<?xml version=«1.0» encoding=«UTF-8»?>
<feed version=«0.3» xmlns=«purl.org/atom/ns#»>
<title>Gmail — Inbox for xxxxxxxxxxxxxx@gmail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>1</fullcount>
<link rel=«alternate» href=«mail.google.com/mail» type=«text/html» />
<modified>2009-09-09T08:32:02Z</modified>
<entry>
<title>Test22222222</title>
<summary>T111est</summary>
<link rel=«alternate» href=«mail.google.com/mail?account_id=xxxxxxxxxxxx%40gmail.com&message_id=1239dee275d61a35&view=conv&extsrc=atom» type=«text/html» />
<modified>2009-09-09T08:31:53Z</modified>
<issued>2009-09-09T08:31:53Z</issued>
<id>tag:gmail.google.com,2004:1313325830576151093</id>
<author>
<name>My Name</name>
<email>from@mail.dom</email>
</author>
</entry>
</feed>
После прочтения писем в ящике:
<?xml version=«1.0» encoding=«UTF-8»?>
<feed version=«0.3» xmlns=«purl.org/atom/ns#»>
<title>Gmail — Inbox for xxxxxxxxxxxxxx@gmail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>0</fullcount>
<link rel=«alternate» href=«mail.google.com/mail» type=«text/html» />
<modified>2009-09-09T08:37:23Z</modified>
</feed>
<?xml version=«1.0» encoding=«UTF-8»?>
<feed version=«0.3» xmlns=«purl.org/atom/ns#»>
<title>Gmail — Inbox for xxxxxxxxxxxxxx@gmail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>1</fullcount>
<link rel=«alternate» href=«mail.google.com/mail» type=«text/html» />
<modified>2009-09-09T08:32:02Z</modified>
<entry>
<title>Test22222222</title>
<summary>T111est</summary>
<link rel=«alternate» href=«mail.google.com/mail?account_id=xxxxxxxxxxxx%40gmail.com&message_id=1239dee275d61a35&view=conv&extsrc=atom» type=«text/html» />
<modified>2009-09-09T08:31:53Z</modified>
<issued>2009-09-09T08:31:53Z</issued>
<id>tag:gmail.google.com,2004:1313325830576151093</id>
<author>
<name>My Name</name>
<email>from@mail.dom</email>
</author>
</entry>
</feed>
После прочтения писем в ящике:
<?xml version=«1.0» encoding=«UTF-8»?>
<feed version=«0.3» xmlns=«purl.org/atom/ns#»>
<title>Gmail — Inbox for xxxxxxxxxxxxxx@gmail.com</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>0</fullcount>
<link rel=«alternate» href=«mail.google.com/mail» type=«text/html» />
<modified>2009-09-09T08:37:23Z</modified>
</feed>
Я смотрю комментарий плюсуют. Плюсующие, у вас что работает? Там же XML. Подсчет количества строк не даст количетсво сообщений.
Без перла
curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '' '{for (i=2; i<=NF; i++) {print $i}}' | sed -n "s/\(.*\)<\/title.*name>\(.*\)<\/name>.*/\2 - \1/p"
www.commandlinefu.com/ рулит :)
для имапа на перле:
ну и считать вывод | wc -l
#!/usr/bin/env perl use Net::IMAP::Simple; use Email::Simple; my $imap = Net::IMAP::Simple->new('imap_server') || die "Unable to connect to IMAP: $Net::IMAP::Simple::errstr\n"; if(!$imap->login('username','password')){ print STDERR "Login failed: " . $imap->errstr . "\n"; exit(64); } my $nm = $imap->select('INBOX'); for(my $i = 1; $i <= $nm; $i++){ if($imap->seen($i)){ print "*"; } else { print " "; } my $es = Email::Simple->new(join '', @{ $imap->top($i) } ); printf("[%03d] %s\n", $i, $es->header('Subject')); } $imap->quit;
ну и считать вывод | wc -l
Я так понимаю данной командой проверяется только inbox? А как насчет других ярлыков?
Работает, правда, не со всеми ярлыками. Помню нарывался на какие-то грабли, то ли с какими-то спецсимволами, то ли с русскими.
По илее если все правильно заурл-кодировать, то все будет работать
Проверил у себя на ярлыке «В мемориз»
Получилась такая ссылка. Работает
Проверил у себя на ярлыке «В мемориз»
Получилась такая ссылка. Работает
https://mail.google.com/mail/feed/atom/%D0%92%20%D0%BC%D0%B5%D0%BC%D0%BE%D1%80%D0%B8%D0%B7
* This source code was highlighted with Source Code Highlighter.
Чтобы не хранить пароль ни в скрипте, ни в истории:
read -sp "pass: " && echo && curl -u username:$REPLY --silent "https://mail.google.com/mail/feed/atom" | grep -c ""
Для того, что бы curl не ругался на сертификат надо добавить ключик "-k". Вариант с "" показывает только первых 20 писем.
Напомните пожалуйста, как в последний вариант добавить перекодировку на системную KOI8R? iconv-чегтототам
Ок. Нужно просто добавить в конец выражения:
| iconv -f UTF-8 -t KOI8-R
Вместо последней — кодировку вашей системы. Список досупных кодировок можно посмотреть командой iconv -l
К.О. mode on
Для пущего удобства выражение записать в файл, поместить в /usr/bin/ и сделать ему chmod a+x
Скрипт можно будет запускать из командной строки просто по названию файла.
/К.О.
| iconv -f UTF-8 -t KOI8-R
Вместо последней — кодировку вашей системы. Список досупных кодировок можно посмотреть командой iconv -l
К.О. mode on
Для пущего удобства выражение записать в файл, поместить в /usr/bin/ и сделать ему chmod a+x
Скрипт можно будет запускать из командной строки просто по названию файла.
/К.О.
А список TODO можно таким же образом получать?
А можно ли таким образом проверить на сколько заполнен ящик? в процентах или гигабайтах?
У Вас 8 гигабайт кончаются так быстро, что нужно мониторить онлайн?
Поделитесь как это вы сделали такой красивый (с тенью) скрин окна? Gimp?
и еще хоцю такую же тему для гнома под МАС :)
и еще хоцю такую же тему для гнома под МАС :)
>Поделитесь как это вы сделали такой красивый (с тенью) скрин окна? Gimp?
По-моему в макоси это стандартная фича для скриншотов.
В принципе, тень можно сделать при помощи утилиты montage, входящей в состав пакета imagemagick. Не такую гламурную, конечно, но всё же :)
Держите небольшой скриптик:
Результат:

По-моему в макоси это стандартная фича для скриншотов.
В принципе, тень можно сделать при помощи утилиты montage, входящей в состав пакета imagemagick. Не такую гламурную, конечно, но всё же :)
Держите небольшой скриптик:
Copy Source | Copy HTML
#!/bin/sh
usage() {
echo ""
echo "Usage:"
echo " $0 <in_file> <out_file>"
echo ""
}
if [ -z "$1" ]; then
usage
exit 1
fi
if [ -z "$2" ]; then
usage
exit 1
fi
PNG=`file $1 | grep PNG`
if [ -z "$PNG" ]; then
echo "Looks like file is not a PNG image"
exit 1
fi
montage $1 -shadow -background none -geometry +5+5 $2
Результат:

Так, а зачем я проверяю, что файл является PNG? Не нужно тут это. От старого скрипта осталось :)
Можно удадить блок
Можно удадить блок
PNG=`file $1 | grep PNG` if [ -z "$PNG" ]; then echo "Looks like file is not a PNG image" exit 1 fi
В общем, после удаления всего ненужного скрипт сократился почти вдвое:
Copy Source | Copy HTML
#!/bin/sh
usage() {
echo ""
echo "Usage:"
echo " $0 <in_file> <out_file>"
echo ""
}
if [ $# -lt 2 ]; then
usage
exit 1
fi
montage $1 -shadow -background none -geometry +5+5 $2
Так это ж и есть Mac :)
А я fetchmail гоняю для этих целей. Через POP3 c сертификатами и все такое…
Если интересно, могу написать.
Если интересно, могу написать.
Спасибо, весьма полезно. Кстати, я тут немного модернизировал ваш скрипт
Спасибо. Создал скрипт gmail и добавил в .screenrc. Теперь так
backtick 1 10 10 gmail
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%1` mail(s)][%{B}%Y-%m-%d %{W}%c %{g}]'
backtick 1 10 10 gmail
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%1` mail(s)][%{B}%Y-%m-%d %{W}%c %{g}]'
Sign up to leave a comment.
GMail — проверка новых писем из командной строки