構成ファイルから2つの値を抽出して新しいファイルに書き込もうとします。難しい部分は、新しいファイルの名前が入力ファイルの値の1つによって決まるようにしたいということです。
私が抽出したい値は、「Build_Version」とDocker名の4桁の略語(「docker_Name」)です。たとえば、ファイルにが表示されている場合は、docker_Name='bcbs_pr-app-01'
「bcbs」のみが必要です。 bcbs_build.txt
.
以下はログファイルから抜粋したものです。
nonSSL_port=80 # FOR STAGING
Build_Type=prod
Build_Version=9.0.00.01_134143
docker_Name='bcbs-pr-app-01'
必要なファイル出力は次のとおりです。
bcbs
9.0.00.01_134143
sed
私が望む値を抽出する命令を見つけました。
sed -n -e '/Build_Version=/p' -e '/docker_Name=/p' environment-info.conf > build_version.txt
ただし、これを行うとBuild_Version=
合計行が完全に抽出されますが、Build_Versionとdocker nameの値のみが必要です。docker_Name=
4文字のDocker名の略語(bcbs)を使用してファイル名を指定する方法を理解する必要があります。
ベストアンサー1
ファイルはsh
構文のように見えます。したがって、そのファイルが実際にsh
スクリプトに含めたい構成ファイルである場合は、次のようにします。
. ./environment-info.conf &&
printf '%s\n' "${docker_Name%%-*}" "$Build_Version" > "${docker_Name%%-*}_build.txt"