2010-11-19 4 views
0

シェルスクリプトとプログラミングの初心者です。私は何千もの行を持つプレーンテキストファイルから特定の情報をどのように解析できるかについてのガイドを探しています。具体的には、各行から電子メールアドレスを解析する必要があります。私は(<>除く)メールアドレスを抽出し、その値としてメールアドレスを使用してMySQLを経由して更新ステートメントを実行したいと思いますデータの解析、特定の文字の前後のデータの選択

"1272574001.H742765P10724.host.domain.com,S=4155:Return-path: `<[email protected]>` 

:行は次のようになります。

私のニーズを満たすために使用できるこの例がありますか?

どのスクリプトツールを使用すればよいですか?<>の間のすべてのコンテンツを取得するツールをどのように教えてください。

どのように(このスクリプト内で)この値を使用してDBレコードを更新できますか?

p.s.私は基本的に

実行する必要がSQLステートメントが..です連絡先データベースからこれらのメールアドレスを解除しようとしています:

UPDATE contact_master SET subscribed='No' WHERE email=<value> 
+1

と$:私はその後のようなものをやって、See section正規表現、(オンラインhere)を読んでお勧め? $と$とは何ですか? –

+1

@Sinan:それはお金の倍です。 – Axeman

+0

私は彼が電子メールアドレスの角括弧を意味すると思う。私は彼がMarkdownを使って逃げる方法を見つけられなかったと思う。 –

答えて

2

あなたは正規表現を探しているように見えます。 * $を除く*あなたは何を意味する

​​
0
sed -n '`s/<\([^>]\+\)>`$/\1/' inputfile | while read -r address 
do 
    echo "UPDATE contact_master SET subscribed='No' WHERE email='$address'" 
done | mysql databasename 
関連する問題