更新时间:2023-11-24 14:48:52
如果 DistanceMeters
在单独的行中,只需执行:
If DistanceMeters
is in a separated line, just do:
awk '!/DistanceMeters/' file
<Trackpoint><Time>2014-02-12T18:18:49+11:00</Time>
<Position><LatitudeDegrees>35.209656</LatitudeDegrees><LongitudeDegrees>28.99924</LongitudeDegrees></Position>
<AltitudeMeters>586.99994</AltitudeMeters>
<Cadence>4</Cadence>
<Extensions><TPX xmlns="http://www.garmin.com/xmlschemas/ActivityExtension/v2" CadenceSensor="Bike"><Speed>0.043145742</Speed></TPX></Extensions></Trackpoint>
要将其从文本块内删除,您可以执行以下操作:
To remove it from inside a text block, you can do:
awk '{sub(/<DistanceMeters>[^>]*>/,x)}8' file
或者使用sed
:
sed 's/<DistanceMeters>[^>]*>//g' file
这两者都不是贪婪的,因此它不会破坏多次出现
块的行,而不是使用贪婪的 .*
Both this is none greedy, so it will not destroy lines with multiple occurrence of <DistanceMeters>
blocks, as oppose to use the greedy .*