• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[ gelöst] Wie binäre Dateien in der Konsole ändern?

felixs

Newbie
Ich möchte binäre Dateien auf der Konsole ändern (mit einer for Schleife ) leider habe ich weder hier im Forum noch bei Google DEN Editor gefunden.
In 46 Dateien (.alb ) sind Jahr und Woche gespeichert "0736" (ohne ") .
Diese Werte sind wöchentlich zu aktulisieren,das Win-Prog. ( Connect ) lässt nur diese Art Dateien zu. Jetzt ist es müsig jede Datei zu laden - ändern -speichern....
Ich suche jetzt einen Editor welcher mir erlaubt : Datei einlesen 0736 zu 0737 ändern - speichern als .alb ....
Kann mir jemand einen guten Tipp geben?
 

abgdf

Guru
Etwas Perl-Magie könnte helfen:
Code:
perl -pi -e "s/0736/0737/g;" *.alb
Aber Vorsicht: Bitte erstmal nur an Kopien in einem Verzeichnis ohne weitere Unterverzeichnisse probieren (bin noch "Zauberlehrling") ! Näheres siehe "perldoc perlrun".

Viele Grüße
 
OP
F

felixs

Newbie
hallo, bin z.z. unterwegs deßhalb erst jetzt `ne Meldung von mir.
Danke für die Anworten, werde beides testen, Die Perlgeschichte sieht mir sehr ähnlich nach
sed 's/0737/0738/g' aus.
Das funktioniert leider nicht mit der Orginal *.alb Datei....leider Weil hinterher die Datei den "binären Teil" nicht mehr enthält. (Man möge mir meine NichtFachmännische Ausdrucksweise verzeihen!)
Ich werde hier Erfolg oder Misserfolg mitteilen.
 
OP
F

felixs

Newbie
Mit perl klappt das super - Danke.
Kann mir jemand (laienhaft) kurz umreißen warum perl das kann und sed nicht ?!
 

abgdf

Guru
Ich glaube, sed geht halt nur mit Textdateien, während die Perlzeile (hinter der automatisch allerhand Perl-Code steckt) wohl automatisch das richtige auswählt.
Perl kann jedenfalls ohne weiteres auch binär lesen und schreiben, siehe zur Funktion "binmode" in "perldoc perlfunc".

Viele Grüße
 

abgdf

Guru
Korrektur: sed kann's auch, Option "-b":

http://www.gnu.org/software/sed/manual/html_node/Invoking-sed.html

Ist vielleicht nicht überall einkompiliert ...

Gruß
 
OP
F

felixs

Newbie
Danke, ich werde die Sache mit sed -b mal versuchen......meine Dateien habe ich aber schon alle mit perl geändert und das gleich bis zum Jahresende !
 
Oben