2つのファイルがあります。
ファイル1は次のようになります。
Company: "Acme CO"
Address: "123 Main Street"
Zip: "12345"
ファイル2は、このデータのプレースホルダーである変数を含むJSONファイルです。たとえば、%%company%%
会社名はどこに配置されますか?
会社、住所、郵便番号などの値をファイル1から取得し、ファイル2の変数をそのデータに置き換えることができる必要があります。
これを達成するための最良の方法のアイデアはありますか?
ベストアンサー1
これを実行してください:
cat a.json | awk -v file="data.txt" -f substitude.awk
どこ
代替.awk
BEGIN{
while(getline < file) {
split($0, data, ":");
key = "%%" tolower(data[1]) "%%";
value = data[2];
gsub(/^\s*\"|\"\s*$/, "", value)
map[key] = value;
}
}{
s = $0;
for(key in map) {
gsub(key, map[key], s);
}
print s;
}END{
}
データ.txt:
Id: "123"
Company: "Acme CO"
Address: "123 Main Street"
Zip: "12345"
a.json:
{ "identifier": "%%id%%", "name": "%%company%%" }
結果
{ "identifier": "123", "name": "Acme CO" }