false から true への単純なグローバル置換が必要な場合は、それsed 's/false/true/g'
を行います。
$ echo "conf['extra_login_security'] = false" | sed 's/false/true/g'
conf['extra_login_security'] = true
ただし、最初の行のみをconf[
変更し、値を true に変更するだけの場合は、これの方が優れていますsed 's/\(^.*conf\[.*\] =\) false/\1 true/g'
echo "conf['extra_login_security'] = false" | sed 's/\(^.*conf\[.*\] =\) false/\1 true/g'
conf['extra_login_security'] = true
編集:
その行だけを次のように実行できます。
sed -i 's/\(^.*conf\[.extra_login_security.\] =\) false/\1 true/' /usr/share/phppgadmin/conf/config.inc.php
変更をファイルに保存するために使用-i
するか、元のファイルを上書きしたくない場合は新しいファイルにリダイレクトします。
sed 's/\(^.*conf\[.extra_login_security.\] =\) false/\1 true/' > mynewfile.php
書き込み権限がない場合の秘訣は、出力を次mynewfile.php
のようにパイプすることです。tee
sudo
sed 's/\(^.*conf\[.extra_login_security.\] =\) false/\1 true/' | sudo tee mynewfile.php
ティーからman tee
- 標準入力から読み取り、標準出力とファイルに書き込みます。