sedを使用してAIXのrc.tcpipでsnmpmibdとsnmpdをコメントアウトする方法は?

sedを使用してAIXのrc.tcpipでsnmpmibdとsnmpdをコメントアウトする方法は?

/etcのrc.tcpipファイルにあるエントリをコメントアウトする必要があります。

# snmpmibd デーモンを起動します。
start /usr/sbin/snmpmibd "$src_running"

#シンプルネットワーク管理プロトコル(SNMP)デーモンを起動します。
start /usr/sbin/snmpd "$src_running"

この行にどのように注釈を付けることができますかsed

ベストアンサー1

で始まる行をコメントアウトするには、代替start /usr/sbin/snmpmibdテキストにアンカーとパターンを含むコマンドを使用しますs。ここで、プラスは置き換えられたテキストを表します。 2行を別々に一致させるか、欠けている部分(明確さを犠牲にして簡潔)を記録して使用することができます。パターンにスラッシュが含まれているので、他の文字を区切り文字として使用してください。フィルタなので、出力を新しいファイルに書き込み、新しいファイルを所定の位置に移動する必要があります(出力を入力と同じファイルにリダイレクトすることは機能しません。最初に古いファイルを削除してから移動を開始します)。 )²を実行します。^#&snmpdsnmpmibdmibsnmp\(mib\)\{0,1\}d!sedsed

sed -e 's!^start /usr/sbin/snmpmibd !#&!' -e 's!^start /usr/sbin/snmpmibd !#&!' </etc/rc.tcpip >/etc/rc.tcpip.new
mv /etc/rc.tcpip.new /etc/rc.tcpip

ファイルを所定の位置に編集するには、次のものを使用できます。編集するsedの代わりに。

ed -s /etc/rc.tcpip <<'EOF'
g!^start /usr/sbin/snmpd ! s/^/#/
g!^start /usr/sbin/snmpmibd ! s/^/#/
w
q
EOF

¹AIXにはor演算子がなく、BREのみが起動され、動作しません。\?\|\(snmpmibd\|snmpd\)
²AIX sedいいえ-i、これはGNU拡張です。

おすすめ記事