vi (Editor, welcher? oder Tool); n Bytes aus einer Datei schneiden/kopieren/speichern

24/12/2007 - 00:12 von H. D. Oezbilen | Report spam
Hallo @all,

ich hoffe, dass ich mit meinem Anliegen hier richtig bin.

Ich habe im Vorfeld einer Installation, in einer Testumgebung eine
korrumpierte INBOX-Datei eines IMAP-Servers, exim.

Das mailutil kann die Datei *nicht* reparieren, dafuer ist es nicht
geeignet. Bi*G* Brother sagt, man solle die entsprecheden Bytes aus der
korrumpierten Datei kopieren und in eine neue Datei speichern, spaeter
den Fehler mi x Bytes entfernen und beide Dateien wieder
zusammenfuehren. So weit so gut.

Angeblich ginge das mit vi (?).

Hier der Fehler:

FEHLER : Aktion konnte nicht ausgefhrt werden.
Anfrage: SELECT "INBOX"
Grund: Unable to find CRLF at 27618381 in 64 bytes, text:

Google:
The first step is to split the mailbox file at the point of the error:

* Rename the INBOX file to some other name, such as INBOX.bad.
* Copy the first 132,551,754 bytes of INBOX.bad to another file,
such as INBOX.new.
* Extract the trailing 316,116 bytes (132867870-132551754) of
INBOX.bad into another file, such as INBOX.tail.
* You no longer need INBOX.bad. Delete it.

In other words, use the number from the "Unable to find CRLF at" as the
point to split INBOX into two new files, INBOX.new and INBOX.tail.


OK, die Bytes passen nicht, aber das ist ja auch klar.

Kann mir jemand sagen, wie ich in vi (oder einem anderen Editor *unix
[aber auch win32]) die exakte Bytesgroesse angeben kann, genau diese
Groesse einer Datei ausschneiden, speichern kann ?

Welche *magischen* Tastaturkuerzel muss man betaetigen ?

Danke fuer replying und Alles Gute fuer das Neue Jahr.

Gruss
Derya
 

Lesen sie die antworten

#1 Heike C. Zimmerer
24/12/2007 - 02:44 | Warnen spam
"H. D. Oezbilen" writes:

ich hoffe, dass ich mit meinem Anliegen hier richtig bin.



Ich sehe kein Shell-Problem, aber es weihnachtet ...

Ich habe im Vorfeld einer Installation, in einer Testumgebung eine
korrumpierte INBOX-Datei eines IMAP-Servers, exim.

Das mailutil kann die Datei *nicht* reparieren, dafuer ist es nicht
geeignet. Bi*G* Brother sagt, man solle die entsprecheden Bytes aus der
korrumpierten Datei kopieren und in eine neue Datei speichern, spaeter
den Fehler mi x Bytes entfernen und beide Dateien wieder
zusammenfuehren. So weit so gut.

Angeblich ginge das mit vi (?).



In der nachfolgenden Beschreibung sehe ich nichts von vi, mein
Vorschlag ist auch ohne den.

Hier der Fehler:

FEHLER : Aktion konnte nicht ausgefhrt werden.
Anfrage: SELECT "INBOX"
Grund: Unable to find CRLF at 27618381 in 64 bytes, text:

Google:
The first step is to split the mailbox file at the point of the error:

* Rename the INBOX file to some other name, such as INBOX.bad.
* Copy the first 132,551,754 bytes of INBOX.bad to another file,
such as INBOX.new.



dd if=Deine_Inbox of=INBOX.bad bs=1 count2551754

* Extract the trailing 316,116 bytes (132867870-132551754) of
INBOX.bad into another file, such as INBOX.tail.



dd if=Deine_Inbox of=INBOX.tail bs=1 skip2551754

* You no longer need INBOX.bad. Delete it.



Lieber noch nicht. Sichere die besser vorher irgendwo.

In other words, use the number from the "Unable to find CRLF at" as the
point to split INBOX into two new files, INBOX.new and INBOX.tail.



Was hiermit (hoffentlich) geschehen wàre.

OK, die Bytes passen nicht, aber das ist ja auch klar.



Die Zahl oben musst Du natürlich anpassen. Viel Erfolg.

Ähnliche fragen