Perlを使用して、ファイル内のすべてのhotmail.comアドレスを別のメールアドレスに置き換える方法を教えてください。

perl regex

ディレクトリ内のいくつかの設定ファイルに複数の電子メールIDがあります。私は自分のスクリプトをSolarisマシンで実行しています。 私は以下を実行したいです。

ディレクトリ内の設定ファイルの中ですべてのemail_idを見つけてください。例:[email protected]; [email protected]; [email protected]; [email protected]

既存のIDをすべて[email protected]に置き換えます。

次の実装は、設定ファイル内のすべての電子メールIDについて、 “hotmail”を “gmail”に置き換えるのに役立ちます。 しかし、私は上記の問題を解決するために少し混乱しています

perl -pi -e '/ \ @ hotmail / \ @ gmail / g' *

前もって感謝します!

  1  0


ベストアンサー

やってみる

'/ \ S @hotmail \ .com / wxyz @ hotmail.com / g'

4


必要なのはregex / global replaceを使ったエディタです(そしてそれが* .bakファイルを確実に作成します)

確かに、これをコーディングするのは楽しいです。

0


heferavによって投稿されたソリューションを使用して、私は答えを得ないようです

$ more file [email protected]; [email protected]; [email protected]; [email protected] $ perl -ne 's / \ S @hotmail \ .com / wxyz @ hotmail.com / gの場合に印刷' wxyz.com; wxyz.com; wxyz.com

多分私は何かが足りないのです。 @OP、あなたはSolarisで働いているので、私はあなたがnawkを使うことができると思います

$ nawk '{(i = 1; i <= NF; i){gsub(/.*@ hotmail.com/,"[email protected]",$i)}}} wxyz @ hotmail。 wxyz @ hotmail。 wxyz @ hotmail

0


タイトルとURLをコピーしました