0
我最近遇到一個名爲pwnedlist.com的新網站,它跟蹤受損的電子郵件帳戶。bash:wget stdout grep「word」如果不存在grep「word2」打印word | word2
我想這將是一個很好的練習練習,以嘗試查詢列表中的每封電子郵件。
我已經完成了所有這些工作,但是我的問題是我不知道 有一個好的方法讓stdout同時通過兩個grep,而不用第二次爲第二個字符串開始。這裏是我到目前爲止....
#!/usr/local/bin/bash
if [ -z "$1" ]
then
echo "Usage: $0 <list>"
exit
fi
for address in $(cat $1)
do
echo -n "$address "
wget -O - --post-data "query_input=$address" pwnedlist.com/query 2>/dev/null |
grep -i congrats | cut -d '>' -f 2 | cut -d '<' -f 1
done
echo
這就像我希望它:
$ ./querypwnlist testfile
[email protected] Congrats! Your email is not in our list.
[email protected] Congrats! Your email is not in our list.
[email protected] Congrats! Your email is not in our list.
我的問題是,我需要找到一種方法來用grep爲其他參數時,不太好的一個
grep -i "we found"
是我需要的字符串。
這裏的HTML:
<div id="query_result_negative" class='query_result_footer'>... we found your email/username in our database. It was last seen on 2011-08-30. Please read on.</div>
我希望它會打印這些「不安全」的電子郵件,並嘗試這樣做,但它沒有工作,我的邏輯是不正確。
wget ..... | (grep -i congrats || grep -i "we found") | cut ....
而且,我選擇的切選項看起來有點笨重/多餘的,任何東西更清潔的想法?使用一個命令而不是通過第二次剪切發送?
這裏的HTML:
<div id="query_result_negative" class='query_result_footer'>Congrats! Your email is not in our list.</div>
任何幫助表示感謝,謝謝!
哇,我沒有想到這一點,謝謝! – jonschipp