[Talk-de] Relationen aus osm-Dateien herausfiltern
Steffen Wolf
stw at gmx.de
Di Jan 19 11:24:25 UTC 2010
Hi Frederik Ramm,
> 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
>> --------
> Eine krude Form mit "sed" ginge so:
> bzcat bw.osm.bz2 | sed -e "1,/<relation/d" > bla.osm
> wobei Dir das die allererste "relation"-Zeile verschluckt, und ich bin
> nicht sed-Wizard genug, um es besser zu koennen ;-)
Wizard bin ich auch nicht, aber so klappts:
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 $
Der Speicherverbrauch scheint sich im Rahmen zu halten, also
Groessenordnung eine Zeile.
Fuer die, die mehr ueber sed lernen wollen, gibt's hier eine gute
Zusammenstellung von hilfreichen Befehlen:
http://sed.sourceforge.net/sed1line.txt
cu,
stw
Mehr Informationen über die Mailingliste Talk-de