範囲リストをファイルの値リストに効率的にマッピングする

範囲リストをファイルの値リストに効率的にマッピングする

私のファイルにはスコープで書かれた値が含まれており、それを一般的なリストに「マッピング解除」する必要があります。これを効率的に行うにはどうすればよいですか?

例:

141540000,141569999,1
147280000,147289999,0

第1列は範囲開始値であり、第2列は範囲終了値であり、第3列は範囲内の各数値に対応する一部のデータである。

私が達成したい結果の例:

141540000, 1
141540001, 1
141540002, 1
... 
141569998, 1
141569999, 1
147280000, 0
147280001, 0
...
147289999, 0

最善の方法はsedやawkのようなものを使用しているようですが、どのように解決するのかわかりません。

ベストアンサー1

awk -F, '{for (i=$1;i<=$2;i++) print i ", " $3}' file

各行に対して for ループを実行し、数字と最後のフィールドを印刷します。

おすすめ記事