あるファイルのタイムスタンプを別のファイルに挿入する

あるファイルのタイムスタンプを別のファイルに挿入する

2つのファイルがあります。そのうちの1つはfile.gpx軌跡点のリストで、それぞれは3本の線で構成されています。

<trkpt...>
<ele>...</ele>
</trkpt>

もう1つはと呼ばれtimes.txt、これは別々の行のリストで、各行は次のようになります。

<time>...</time>

私がしなければならないのは、<time>...</time>times.txtの各行をfile.gpxに挿入して、file.gpxのすべてのトラックポイントが次のように見えるようにすることです。

<trkpt...>
<ele>...</ele>
<time>...</time>
</trkpt>

私はこれを達成する方法を知りたいです。

...私の質問の目的にかかわらず、異なる価値を表します。)

助けてくれてありがとう。

ベストアンサー1

使用awk:

awk '
  FNR==NR{             # if this is the first input file...
    t[++idx]=$0        # save record in array `t` at index `idx` (pre-incremented)
    next               # continue with next record
  }
  1                    # print record of second input file
  /<ele>.*<\/ele>/{    # if record matches...
    print t[++idx2]    # print array value at `idx2` (pre-incremented) 
  }
' times.txt file.gpx > new.gpx

おすすめ記事