Как стать автором
Обновить

GMail — проверка новых писем из командной строки

Время на прочтение 1 мин
Количество просмотров 5.9K
Не будем тянуть кота за хвост. Сразу к делу

curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}' | wc -l

Результатом будет количество новых писем у вас в ящике.



Update: команду можно упростить до
curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | awk -F '<fullcount>|</fullcount>' '{for (i=2; i<=NF; i++) {print $i}}'
Спасибо за подсказку Wolverine

Update: и даже еще проще
curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | grep -c "<entry>"
намекает onix74

Использованые команды должны быть вполне знакомы искушенному пользователю linux. Для неискушенных краткое пояснение того, что делают части этой строки.
curl — тут получает страницу по заданному адресу. В данном случае это RSS feed
tr -d '\n' — удаляет переносы строк
awk — «выкусывает» нужные части (язык awk вообще спец в разного рода парсинге строк. Такая себе замена регулярок)
wc -l — подсчет количества строк

А если команду немного усложнить и распарсить вывод, то можно получить и больше информации: отправителя и тему письма.

curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | tr -d '\n' | awk -F '<entry>' '{for (i=2; i<=NF; i++) {print $i}}' | perl -pe 's/^<title>(.*)<\/title>.*<name>(.*)<\/name>.*$/$2 - $1/'


По материалам commandlinefu
Теги:
Хабы:
+103
Комментарии 95
Комментарии Комментарии 95

Публикации

Истории

Ближайшие события

PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн
Weekend Offer в AliExpress
Дата 20 – 21 апреля
Время 10:00 – 20:00
Место
Онлайн