動的ファイルから値を取得し、HTMLの変数に渡す[閉じる]

動的ファイルから値を取得し、HTMLの変数に渡す[閉じる]

次の形式のファイルがあり、その値をHTMLに渡したいと思います。

BE64533-A0E1-4F98-A91F-02C1D0 column=ABC_Received:ABC_Structure_Type, timestamp=1439978656596, **value=ASCII**
BE64533-A0E1-4F8-A9F-03CE2C1D0 column=ABC_Received:Current_To, timestamp=1439978656596, **value=RPI** 

このファイルから値(ASCIIとRPI)を取得してSTATIC HTMLタグに渡すにはどうすればよいですか?以下に値(ASCIIとRPI)を含めたいHTMLマークアップがあります。

<!--Row 1 Header -->
<tr>
<td class="HeaderCell">ABC_Structure_Type</td>
<td class="HeaderCell">Current_To</td>


<!--Row 1 Values -->
<tr>
<td  class="ValueCell">[ABC_Structure_Type]</td>
<td  class="ValueCell">[_Current_To]</td>

必要な出力は以下の通りです。

<!--Row 1 Values -->
<tr>
<td  class="ValueCell">ASCII</td>
<td  class="ValueCell">RPI</td>

ファイル内で、それぞれASCII値とRPI値を持つファイルの1行目の[ABC_Structure_Type]と[Current_To]の値で置き換える必要があります。

ベストアンサー1

まあ、実際に何をしたいのかはわかりませんが、ファイルから値を解析する必要があることは明らかです。これを行うには、値を次のように別の配列に入れるだけです(値を含む実際のファイルにYourFileを設定する必要があります)。

H=()
V=()
while read -r Line; do 
  H+=("$( printf "%s" "$Line" | grep -o 'column=[^,]*' | sed 's/^column=ABC_Received://')" )
  V+=("$( printf "%s" "$Line" | grep -o ' \*\*value=.*\*\*$' | sed 's/.*=\(.*\)\*\*$/\1/' )")
done < "$YourFile"

配列が正しく入力されていることを確認するには、次の手順を実行します。

printf "%s\n" "${H[@]}"
printf "%s\n" "${V[@]}"

静的HTMLページのスタブを作成したい場合は、上記のprintfsを編集したり、値で別の操作をしたい場合は、単純なループを使用して簡単に実行できます。

for v in "${H[@]}"; do 
  printf '<td class="HeaderCell">%s</td>\n' "$v"
done

for v in "${V[@]}"; do 
  printf '<td class="ValueCell">%s</td>\n' "$v"
done

例の値の出力は次のとおりです。

<td class=HeaderCell>ABC_Structure_Type</td>
<td class=HeaderCell>Current_To</td>
<td class=ValueCell>ASCII</td>
<td class=ValueCell>RPI</td>

もちろん、この値で何をしたいのか(printfsだけでなく)できます。

免責事項:GNU / bashスクリプト...

おすすめ記事