[Talk-de] Relationen aus osm-Dateien herausfiltern
Werner Hoch
werner.ho at gmx.de
Di Jan 19 18:17:34 UTC 2010
Hallo Steffen,
On Dienstag, 19. Januar 2010, Steffen Wolf wrote:
> > Werner Hoch wrote:
> >> Derzeit verwende ich folgenden Workaround:
> >> --------
> >> bzip2 -dc bw.osm.bz2 | head -n 3 > bw_relations.osm
> >> bzip2 -dc bw.osm.bz2 | grep -A 100000 "<relation" >> bw_relations.osm
> >> --------
>
> bzcat bw.osm.bz2 | sed -n -e '1,3p' -e '/<relation/,$p' >bw_relations.osm
>
> -n: gib nix aus
> -e: was folgt ist Befehl und nicht Datei
> 1,3p: gib Zeilen 1-3 aus
> /suche/,$p: gib ab Suchergebnis bis letzter Zeile alles aus
> '': die bash zerpflueckt sonst das $
Cool, danke.
Ich habe mal grep und sed verglichen:
werner at linux-m82i:~/osm> time bzcat bw.osm.bz2 | grep -A 100000 "<relation" >> /dev/null
real 0m55.945s
user 0m50.408s
sys 0m5.564s
werner at linux-m82i:~/osm> time bzcat bw.osm.bz2 | sed -n -e '1,3p' -e '/<relation/,$p' >> /dev/null
real 1m33.072s
user 1m48.933s
sys 0m5.316s
sed ist deutlich langsamer.
> Der Speicherverbrauch scheint sich im Rahmen zu halten, also
> Groessenordnung eine Zeile.
Das war zu erwarten.
Grüße
Werner
Mehr Informationen über die Mailingliste Talk-de