kale_1990 Geschrieben 11. Juni 2010 Teilen Geschrieben 11. Juni 2010 (bearbeitet) hallo, möchte gern aus datei1.ps alle zeilen unterhalb von "%%Page: 1 1" bis zum ersten vorkommen von "gsave" in die datei2.ps unterhalb von "%%Page: 1 1" kopieren. mit welchen unix-befehlen erledige ich das am besten? hatte schon die idee mit und grep -n "%%Page:" datei1.ps | sed 's/:.*//' | head -n 1 und grep -n "gsave" datei1.ps | sed 's/:.*//' | head -n 1 die zeilen zu ermitteln, komme jetz aber nicht weiter.... Bearbeitet 11. Juni 2010 von kale_1990 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kale_1990 Geschrieben 11. Juni 2010 Autor Teilen Geschrieben 11. Juni 2010 und hier die lösung: datei1.ps -> quelldatei datei2.ps -> zieldatei tmp.ps -> temporaere datei bs=$(grep -n "%%Page:" datei1.ps | sed 's/:.*//' | head -n 1) es=$(grep -n "gsave" datei1.ps | sed 's/:.*//' | head -n 1) bt=$(grep -n "%%Page:" datei2.ps | sed 's/:.*//' | head -n 1) bs=$[$bs+1] es=$[$es-1] cat datei2.ps | head -n $bt > tmp.ps cat datei1.ps | sed -n ${bs},${es}p >> tmp.ps bt=$[$bt+1] cat datei2.ps | tail +$bt >> tmp.ps cp tmp.ps datei2.ps Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.