キー/値の形式の.confファイルがあります。ただし、一意でないキーがある可能性があります。これらの違いは次のとおりです。
###
### [meta]
###
### Controls the parameters for the Raft consensus group that stores metadata
### about the InfluxDB cluster.
###
[meta]
# Where the metadata/raft database is stored
dir = "/var/lib/influxdb/meta"
# Automatically create a default retention policy when creating a
database.
# retention-autocreate = true
# If log messages are printed for the meta service
# logging-enabled = true
###
### [data]
###
### Controls where the actual shard data for InfluxDB lives and how it is
### flushed from the WAL. "dir" may need to be changed to a suitable place
### for your system, but the WAL settings are an advanced configuration. The
### defaults should work for most systems.
###
[data]
# The directory where the TSM storage engine stores TSM files.
dir = "/var/lib/influxdb/data"
# The directory where the TSM storage engine stores WAL files.
wal-dir = "/var/lib/influxdb/wal"
dir
私が達成したいのは、Fedoraでブロックの下のキー値を変更するスクリプトを書くことですdata
。ここで同様の一意のキースクリプトを見ました(https://stackoverflow.com/questions/2464760/modify-config-file-using-bash-script)。しかし残念ながら、これは私には効果がありません。どうすればいいですか?
ベストアンサー1
ファイル名がfoo.confでdir値を "/dev/sdh"に変更すると、次のコードはデータ部分のdirキーワードのみを置き換えます。
sed -re '/^\[data\]$/,/^\[/ s/^(\s+)*(dir = .*)$/\1dir = "\/dev\/sdh"/' foo.conf
/^\[data\]$/,/^\[/
この部分は、sedが「データ」部分でのみ機能するようにします。 「data」を任意のキーワードに置き換えて、すべてのセクションに適用できます。