Linuxでファイルの内容を変更する方法は?

Linuxでファイルの内容を変更する方法は?

[マイ Linux] ボックスには、カスタムアプリケーションの構成情報を含む 3 つの構成ファイルがあります。設定ファイルのいくつかの値を変更したいと思います。ファイルの内容と説明は次のとおりです。

config1ファイルの内容:

set VAR1=/app/client/10x_64/instance

構成2ファイルの内容:

set VAR2=/app/client/11x/instance

config3ファイルの内容:

set VAR3=/app/client/11x_64/instance

すべてのファイルのすべての値を10x_64、11x、11x_64から12x_64に変更したいと思います。現在の内容を変更するには、次の3つのコマンドを使用します。

sed -i 's/10x_64/12x_64/g' config1
sed -i 's/11x/12x_64/g' config2
sed -i 's/11x_64/12x_64/g' config3

3つのファイルの内容をすべて変更する共通コマンドが必要です。

ベストアンサー1

単一の式が必要な場合は、次のようにできます。

sed -i 's#/client/[^/]*#/client/12x_64#g' config*

私は/client/[^/]*タグを使用して置き換えたいアイテム(つまり、次のアイテムの/client/後と前のアイテム)を探していますが、ファイル内/の他のアイテムの一致を避ければこれを行うことができます。client/[^/]*/instance

おすすめ記事