ラベルを使用したマッピングの読み取り[閉じる]

ラベルを使用したマッピングの読み取り[閉じる]

次の形式で読み取り値のリストを提供します。

1 1 0 0 2 3 23101 23101 0 0 2 0 5 2 0 0
1 1 0 0 2 2 23104 23104 0 0 1 0 5 1 0 0

ラベルにマッピングする適切できれいな方法は何ですか?ラベルは固定形式ではありません。ドキュメントでは、列1がXにマップされ、列2がYにマップされることがわかります。

出力はprometheus読みやすいようにテキストファイルに移動するため、必要な形式は次の2行形式になります。

# TYPE label_goes_here counter
label_goes_here value_goes_here

sh理想的には、このツールやksh基本ツールを使用したいと思います。perlそれも大丈夫です。たとえばpython

例を追加するように編集されました。

一方:

1 1 0 0 2 3 23101 23101 0 0 2 0 5 2 0 0

予想される結果は次のとおりです。

# TYPE name_of_label_1 counter
name_of_label_1 1
# TYPE name_of_label_2 counter
name_of_label_2 1
# TYPE name_of_label_3 counter
name_of_label_3 0
etc.
etc.
# TYPE name_of_label_16 counter
name_of_label_16 0

ベストアンサー1

そしてawk

LABELS='name_of_label_1 name_of_label_2 ...' awk '
  BEGIN{split(ENVIRON["LABELS"], label)}
  {
    for (i = 1; i <= NF; i++)
      print "# TYPE", label[i], "counter\n"label[i], $i
  }' < input-file

おすすめ記事