PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : die ersten 71 Zeichen einer Datei löschen



marcdevil
19-03-2003, 11:36
hi, wie lösche ich script-tauglich die ersten 71 Zeichen, also bis HEX Offset 0x00000047 einer Datei ?

marcdevil
20-03-2003, 10:44
vim -b -c 72dl -c w -c q bla.wav
klappt nicht ganz, obwohl es im editiermodus so geht. (also datei öffnen, 72dl ENTER, :wq ENTER)

EDIT: -c verlangt ex commandos, also wie lautet das ex commano für das löschgen von 72 zeichen ?

Jasper
20-03-2003, 16:36
Original geschrieben von marcdevil
hi, wie lösche ich script-tauglich die ersten 71 Zeichen, also bis HEX Offset 0x00000047 einer Datei ?

cut -b 72- file1 > file2

-j

marcdevil
20-03-2003, 21:17
da werden über 1 Megabyte irgendwo weggeschnitten, kann das sein, das cut oder > mit binären Sachen nicht korrekt umgeht

marcdevil
20-03-2003, 21:31
ich glaub ich muss dann doch in der richtung was probieren: (ist sehr zeit aufwendig und verursacht bei großen dateien Argumentfehler)


split -b 72 file ; rm xaa ; cat `ls x*` > newfile ;rm x*

sticky bit
21-03-2003, 01:34
perl -p -i -e 's/^.{71}//' YOUR_FILE

marcdevil
25-03-2003, 15:45
da werden über 1 Megabyte irgendwo weggeschnitten, kann das sein, das Perl mit binären Sachen nicht korrekt umgeht ?

Jasper
25-03-2003, 16:37
Original geschrieben von marcdevil
da werden über 1 Megabyte irgendwo weggeschnitten, kann das sein, das cut oder > mit binären Sachen nicht korrekt umgeht

ja, mit binär geht das nicht, weil cut zeilenorientiert arbeitet.

für binär bietet sich dd an:

dd bs=71 skip=1 if=file1 of=file2

wichtig ist, das blocksize=71 ist, damit skip=1 auch nur wirklich einen block von 71 bytes weglässt.

-j

marcdevil
25-03-2003, 18:26
super, danke, darauf wär ich nie gekommen, obwohl es sofort einleuchtend ist.