[マイ 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