0
設定ファイルに定義されているいくつかの変数とbashの入力ファイルを一致させ、変数を設定ファイル入力に置き換える必要があります。Bashの二重角括弧
ライン1における設定ファイル
var1=value1
var2=value2
入力ファイル
My user value is [[var1]] and
some lines which does not have configuration variables
My client value is [[var2]]
some lines which does not have configuration variables
VAR1とVAR2及び3は、上記の行の 残りの部分は同じまま設定ファイルの値に置き換えられなければなりません。
私は、mapValsという連想配列の中のconfigを読み込み、inpArrayという配列にファイルを入力することができます。
今、私はループの中で以下のコードとマッチングしています。
for key in "${!mapVals[@]}"
do
match=\[\[$key\]\]
echo $match
let index=0
for line in "${inpArray[@]}"
do
if [[ $line =~ $match ]];
then
echo $line
fi
index=$(($index+1))
done
done
私は[[VAR1]]と[[VAR2]]マッチの両方のためのLINE1と3行目の両方に一致するものを取得しています。 出力は完全一致のための方法であると交換する必要がありますどのような
[[var1]]
My user value is [[var1]] and
My client value is [[var2]]
[[var2]]
My user value is [[var1]] and
My client value is [[var2]]
のように見えます。 重複している場合はご意見ください。