重新排列文件中每一行上的文本

罗伯特·奥特曼

我正在处理一个日志文件,我需要对每行重新排序(而不是排序)。日志文件如下所示:

2014年11月6日-10:49:06年= 41.858657; lon = -91.345142 06/11
/2014-10: 49 :49 PM年= 42.864653; lon = -92.349914 06/11
/2014-10: 50 :35 PM年= 43.874808; lon = -93.350364 06/11
/2014-10: 51 :21 PM年= 44.885047; lon = -94.350058 06/11
/2014-10: 52 :08 PM年= 45.895078; lon = -95.349920 06/11
/2014-10: 53 :30 PM年= 46.905178; lon = -96.349837 06/11
/2014-10: 54 :50 PM年= 47.910303; lon = -97.350606

我想将日期/时间移到每一行的末尾:

年= 41,858657; lon = -91.345142 06/11/2014-10:49:06 PM
年= 42.864653; lon = -92.349914 06/11/2014-10:49:49 PM
年= 43.874808; lon = -93.350364 06/11/2014-10:50:35 PM
年= 44.885047; lon = -94.350058 06/11/2014-10:51:21 PM
年= 45.895078; lon = -95.349920 06/11/2014-10:52:08 PM
年= 46.905178; lon = -96.349837 06/11/2014-10:53:30 PM
年= 47.910303; lon = -97.350606 2014年6月11日-下午10:54:50

sed?awk?如何?

额外的问题:我的最终目标是将其转换为gpx / xml,并且在处理每一行时添加中间文本可能很容易,因此输出看起来像这样:

<wpt lat="41.858657" lon="-91.345142">
    <time>11-06-2014 - 10:49:06PM</time>
</wpt>

<wpt lat"="42.864653" lon="-92.349914">
     <time>11-06-2014 - 10:49:49PM</time>
</wpt>

<wpt lat"="43.874808" lon="-93.350364">
     <time>11-06-2014 - 10:50:35PM</time>
</wpt>

<wpt lat"="44.885047" lon="-94.350058">
     <time>11-06-2014 - 10:51:21PM</time>
</wpt>

<wpt lat"="45.895078" lon="-95.349920">
     <time>11-06-2014 - 10:52:08PM</time>
</wpt>

<wpt lat"="46.905178" lon="-96.349837">
     <time>11-06-2014 - 10:53:30PM</time>
</wpt>

<wpt lat"="47.910303" lon="-97.350606">
     <time>11-06-2014 - 10:54:50PM</time>
</wpt>
黑客狂

使用awk:

 awk '{print $4,$5,$6,$7,$8,$9,$1,$2,$3}' log_file

您可以直接从日志文件中执行以下操作:

awk '{printf("<wpt %s%s\"%s\" %s%s\"%s\">\n<time>%s %s %s</time>\n</wpt>\n",$4,$5,substr($6,0,length($6)),$7,$8,$9,$1,$2,$3)}' log_file

输出:

<wpt lat="41.858657" lon="-91.345142">
<time>11-06-2014 - 10:49:06PM</time>
</wpt>
<wpt lat="42.864653" lon="-92.349914">
<time>11-06-2014 - 10:49:49PM</time>
</wpt>
<wpt lat="43.874808" lon="-93.350364">
<time>11-06-2014 - 10:50:35PM</time>
</wpt>
<wpt lat="44.885047" lon="-94.350058">
<time>11-06-2014 - 10:51:21PM</time>
</wpt>
<wpt lat="45.895078" lon="-95.349920">
<time>11-06-2014 - 10:52:08PM</time>
</wpt>
<wpt lat="46.905178" lon="-96.349837">
<time>11-06-2014 - 10:53:30PM</time>
</wpt>
<wpt lat="47.910303" lon="-97.350606">
<time>11-06-2014 - 10:54:50PM</time>
</wpt>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章