私は複数のサーバー上のファイルで特定のテキストで始まる行を見つけてから、行全体を置き換えるsedまたはperlコマンドを探しています。行は常に同じ文字列で始まりますが、残りは異なる場合があります。だから、最初とかなりうまくいく必要があり、すべてを交換します。
例えば
サーバー1:myfile.txt
SAMail: [email protected]
サーバー2:myfile.txt
SAMail: [email protected]
サーバー3:myfile.txt
SAMail: [email protected]
file.txt
3つのサーバーすべてのMyで「SAMail:」を見つけて次に置き換えるには、コマンドが必要です。SAMail: [email protected]
答え1
sed
私が正しく理解したなら、これは1つの可能性です。
入力する
SAMail: [email protected]
foo: [email protected]
foo SAMail
sed '/^SAMail/s;[^ ]*$;[email protected];' "My file.txt"
出力:
SAMail: [email protected]
foo: [email protected]
foo SAMail