kale_1990 Geschrieben 11. Juni 2010 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
kale_1990 Geschrieben 11. Juni 2010 Autor 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden