2017-04-06 13 views
-1

設定ファイルがいくつかあり、スクリプトを使って特定の変数値を編集したいと思っています。私はこれを行うにはsed/awkに出くわしました。私は次の設定例で次のsedコマンドを使用しようとしましたが、私の問題は実際のコメントセクションと同様にコメントセクションを変更することです。私はあなたがN回目の出現を行うことができることを見ましたが、その継ぎ目はファイル全体ではなく、その行にのみ適用されます。sed/awkを使って設定ファイルの変数値を変更する

コマンド:

sudo sed -i 's/Server=.*/Server=10.10.1.206/' /etc/zabbix/zabbix_agentd.conf 

ファイル

### Option: Server 
#  List of comma delimited IP addresses (or hostnames) of Zabbix servers. 
#  Incoming connections will be accepted only from the hosts listed here. 
#  If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally. 
# 
# Mandatory: no 
# Default: 
# Server=10.10.1.206 

Server=10.10.1.206 

答えて

2

Server

sudo sed -i 's/^Server=.*/Server=10.10.1.206/' /etc/zabbix/zabbix_agentd.conf 

でのみを開始する行にアンカーのサポートを置き換えるために、正規表現のアンカー^を追加^$と一致する開始終了のパターンはすべてPOSIX互換sedバージョンで利用できます。

このregular-expressionsページからの抜粋、

アンカー

[..]アンカーは、任意の文字と一致しません。彼らはポジションにマッチします。文字列の先頭にマッチ^、文字列の末尾$マッチ。[..]


関連する問題