見つけて置き換える

見つけて置き換える

キーワードを含むファイルがありますRESOURCE。ファイルのどこにでも表示できます。たとえば、次のようになります。

[email protected]

[email protected]今に変更したいです[email protected]。キーワードが見つかる行を検索し、等号のRESOURCE後の単語を置き換える必要があります。キーワードはRESOURCE変更されていないままにしてください。

誰でもこの問題を解決するのに役立ちますか?

入力する:

[email protected]

出力:

[email protected]

ベストアンサー1

grepこの場合、ファイルの内容を変更できないので便利ではありません。

代わりに、sed次のように使用できます。

fromaddr='[email protected]'
toaddr='[email protected]'

sed '/^RESOURCE=/s/='"$fromaddr"'$/='"$toaddr"'/' file >newfile

fileを考慮して

some data
[email protected]
[email protected]
[email protected]
[email protected]
more data

newfileこれは次のように生成されます。

some data
[email protected]
[email protected]
[email protected]
[email protected]
more data

このsed式は、文字列で始まる行を選択しますRESOURCE。各行について、その行に電子メールアドレスがある場合はそれを置き換えます。置換に使用されるパターンは=一致し、アドレスが行末で終わることを保証します。

おすすめ記事