' '{for (i=2; i<...">

GMail-コマンドラインから新しいメッセージを確認する

猫を尾で引っ張らないようにしましょう。 まっすぐに

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

結果は、受信ボックス内の新しい文字の数になります。



更新:コマンドは次のように簡略化できます
curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | awk -F '<fullcount>|</fullcount>' '{for (i=2; i<=NF; i++) {print $i}}'
ウルヴァリンの ヒントをありがとう

更新:さらに簡単
curl -u username:password --silent "https://mail.google.com/mail/feed/atom" | grep -c "<entry>"
ヒント onix74

使用するコマンドは、洗練されたLinuxユーザーに完全に馴染みのあるものでなければなりません。 経験の浅い人のために、この行の各部が何をするかについての簡単な説明。
curl-ここでは、指定されたアドレスのページを取得します。 この場合、それはRSSフィードです
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

Source: https://habr.com/ru/post/J69110/


All Articles