0

sed を使用して 1 行を置き換えようとしています。

例:

space_left_action = EMAIL
admin_space_left_action = SUSPEND

私はこのコマンドを試しました:

sed -i '/space_left_action*/c\space_left_action = SYSLOG' /etc/audit/auditd.conf

結果:

space_left_action = SYSLOG
space_left_action = SYSLOG

admin_space_left_action 行を置き換えたくありませんが、誰かが space_left_action 値を別のものに変更した場合でも、sed が行を置き換えるという柔軟性があります。

4

3 に答える 3

0

あなたもこれを試すことができます

sed -i '/[^_]space_left_action*/c\space_left_action = SYSLOG' /etc/audit/auditd.conf
于 2013-10-10T05:00:41.137 に答える
0

awkバージョン_

awk '/^space_left_action/ {$3="SYSLOG"}1' /etc/audit/auditd.conf
space_left_action = SYSLOG
admin_space_left_action = SUSPEND
于 2013-10-10T05:14:00.200 に答える