キーワードを含むファイルがあります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
。各行について、その行に電子メールアドレスがある場合はそれを置き換えます。置換に使用されるパターンは=
一致し、アドレスが行末で終わることを保証します。