ファイルの値を変更するperl onelinerコマンドは簡単です。
perl -i 's/oldval/newval/g' file.txt
ただし、特定のパラメータの値を変更するには(値は「=」区切り文字の後にあります)、Perlの1行構文は何ですか?
はい
私たちは一致したいVIP_IP文字列を入力し、「=」区切り文字の後の値を別の値に置き換えます。192.17.200.100 (Perl 1行構文を使用)
more file.txt
VIP_IP=172.17.200.15
if [[ $VIP_IP = $HOST_IP ]]
then
.
.
.
期待されるパフォーマンス
more file.txt
VIP_IP=192.17.200.100
if [[ $VIP_IP = $HOST_IP ]]
then
.
.
.
答え1
正規表現にキーを含めます。
書き方を正確に知っていれば、肯定的な振り返りアサーションを使用することができます。
perl -pi -e 's/(?<=^\$VIP_IP=).*/192.17.200.100/' your_file
それ以外の場合は、次を使用して代替テキストに一致するキーを含める必要があります$1
。
perl -pi -e 's/(^\$VIP_IP\s*=).*/$1192.17.200.100/' your_file