ein Programm, dass per Parameter einen Hexstring ersetzt
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
ein Programm, dass per Parameter einen Hexstring ersetzt
Hallo kennt ihr ein Programm,
dem man per Parameter angeben kann, alle Treffer eines Strings oder Hexstrings mit einen neuen zu ersetzen?
dem man per Parameter angeben kann, alle Treffer eines Strings oder Hexstrings mit einen neuen zu ersetzen?
- SubOptimal
- Beiträge: 1709
- Registriert: 10.01.2005 23:25:46
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: bei Frankfurt
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Hallo,
Du müsstest schon genauer sagen was Du machen willst. Willst Du in einer Datei einen bestimmten String durch einen anderen ersetzen?
Als Beispiel:
SubOptimal
Du müsstest schon genauer sagen was Du machen willst. Willst Du in einer Datei einen bestimmten String durch einen anderen ersetzen?
Als Beispiel:
Code: Alles auswählen
echo "ein Programm, dass per Parameter einen Hexstring ersetzt" | sed 's/ein/ZWEI/g'
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
vielleicht über einen Umweg?
Dump mit hexdump oder xxd o.a.
Modifikation mit sed
Reverse mit xxd
Dump mit hexdump oder xxd o.a.
Modifikation mit sed
Reverse mit xxd
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
hmmmm,
und wo gebe ich an, in welcher Datei gesucht werden soll?
Am besten waere es ja, wenn das Teil rekursiv laufen wuerde.
und wo gebe ich an, in welcher Datei gesucht werden soll?
Am besten waere es ja, wenn das Teil rekursiv laufen wuerde.
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Ein bisschen genauer was du machen willst wäre _sehr_ hilfreich!
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Ich will, weil ich mit der Registry so einige Eintraege nicht aendern kann, gewaltsam mit Linux ein paat Strings umaendern. Und zwar waeren es alle Einstellungen und Eintraege die c:\Dokume lauten, Ich will diese auf F:\Dokume umstellen.
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
naja...(ungetestet also bitte vorher an einem beispielverzeichnis austesten)
Code: Alles auswählen
find /hauptpfad/zu/den/Dateien -type f -exec sed -i 's/suche/ERSETZE/g' \;
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Muss das dann so aussehen?
/s/C:\Doku/F:\Doku/g
/s/C:\Doku/F:\Doku/g
- uwepr
- Beiträge: 657
- Registriert: 03.02.2007 12:13:01
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Halle/S.
-
Kontaktdaten:
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Seid gegrüßt,
ein Ansatz wäre:
Problem ist, daß \ sowohl in der bash als auch in sed zum Maskieren von Sonderzeichen benutzt wird und damit selbst ein Sonderzeichen ist. Die Schleife funktioniert nicht, weil \ bei'm Ausgeben von $i durch echo entfernt wird, statt C:\Doku* also C:Doku in die Pipe geleitet wird. Sihe
funktioniert. Aber in $i ist halt nur C:\Doku* drin, da auch bei'm find-Befehl maskiert werden muß. Und dann käme noch mv.
Vielleicht hat jemand noch irgendeinen Trick in der Hinterhand...
mmv könnte noch eine Möglichkeit sein, bin in mmv allerdings momentan nicht fit...
Viele Grüße! Uwe Pr.
ein Ansatz wäre:
Code: Alles auswählen
#!/bin/bash
if $find C:\\Doku* >&/dev/null
then
for i in $($find C:\\Doku*) ; do $mv $i $(echo $i | $sed 's/C:\\Doku/F:\\Doku/') 2>/dev/null ; done
fi ;
exit 0
Code: Alles auswählen
uwe@debian-uwe:~$ echo C:\Doku
C:Doku
uwe@debian-uwe:~$
Code: Alles auswählen
uwe@debian-uwe:~$ echo C:\\Doku | sed 's/C:\\Doku/F:\\Doku/'
F:\Doku
uwe@debian-uwe:~$
Vielleicht hat jemand noch irgendeinen Trick in der Hinterhand...
mmv könnte noch eine Möglichkeit sein, bin in mmv allerdings momentan nicht fit...
Viele Grüße! Uwe Pr.
squeeze/fluxbox
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
NEIN,
ich will doch nicht c:\Doku verschieben sondern in allen Dateien nach dem String C:\Doku suchen und dann ersetzen.
ich will doch nicht c:\Doku verschieben sondern in allen Dateien nach dem String C:\Doku suchen und dann ersetzen.
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
aber er sagte zumindest das Entscheidende
sed 's/C:\\Doku/F:\\Doku/g'
ist natürlich immer noch UNGETESTET!
sed 's/C:\\Doku/F:\\Doku/g'
ist natürlich immer noch UNGETESTET!
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
wo gebe ich denn an in welcher Datei gesucht und ersetzt werden soll?
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Ich will z.B. in /winshit/windows/system32/config/system.dat naach C:\Doku suchen und dann mit F:\Doku ersetzen.
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Ich nehme an, ich habe mich unklar ausgedrueckt.
Ich will nicht die Strings eines Parameters auswechseln, sondern via Parameter die Strings einer Datei.
Ich will nicht die Strings eines Parameters auswechseln, sondern via Parameter die Strings einer Datei.
- uwepr
- Beiträge: 657
- Registriert: 03.02.2007 12:13:01
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Halle/S.
-
Kontaktdaten:
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Hallo HannesMeyer,
Jetzt kapier ich, was Du willst:
Datei einlesen, Ausdruck ersetzen und in neue Datei schreiben, mit der Du durch simples Umbenennen die alte ersetzt.
leitet in text.txt. Es könnte aber noch eine Stolperfalle geben: der Zeilenumbruch ist in Win anders gelöst!
Viele Grüße! Uwe Pr.
Jetzt kapier ich, was Du willst:
Datei einlesen, Ausdruck ersetzen und in neue Datei schreiben, mit der Du durch simples Umbenennen die alte ersetzt.
Code: Alles auswählen
uwe@debian-uwe:~$ cat Pfad\\zur\\Datei | sed 's/C:\\Doku/F:\\Doku/' >text.txt
Viele Grüße! Uwe Pr.
Zuletzt geändert von uwepr am 21.08.2008 21:01:48, insgesamt 1-mal geändert.
squeeze/fluxbox
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
brauchst auch nicht mit "cat" und der Umleitung zu arbeiten, sondern kannst per
sed -i 'XYSADAS' /pfad/zur/datei
Arbeiten.. aber denke daran BACKUP falls du was falsch machst..
sed -i 'XYSADAS' /pfad/zur/datei
Arbeiten.. aber denke daran BACKUP falls du was falsch machst..
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Hallo,
ich weis doch nicht, wie die Dateien heissen,
ich will mit find alle Dateien suchen und in jeder einen String ersetzen.
ich weis doch nicht, wie die Dateien heissen,
ich will mit find alle Dateien suchen und in jeder einen String ersetzen.
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
??? soweit ich weiß hatte ich das schon einmal geschrieben!
Savar hat geschrieben:naja...(ungetestet also bitte vorher an einem beispielverzeichnis austesten)
Code: Alles auswählen
find /hauptpfad/zu/den/Dateien -type f -exec sed -i 's/suche/ERSETZE/g' \;
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Na dann probiere ich dsa mal aus.
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
sed: kommt leider no inputfile
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
sorry da fehlte was (und ich hoffe du hast ein BACKUP.. sonst zerschiesst du dir dein Windows und machst mich verantwortlich!):
Code: Alles auswählen
find /hauptpfad/zu/den/Dateien -type f -exec sed -i 's/suche/ERSETZE/g' {} \;
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Ja, das wuerde ich machen, ich wuede dich fuer mein Glueck verantworlich machen und dich reich beschaenken.Savar hat geschrieben:sorry da fehlte was (und ich hoffe du hast ein BACKUP.. sonst zerschiesst du dir dein Windows und machst mich verantwortlich!):
Ich helfe naemlich gerade meinem Kumpel,
wir haben 2 Tage vor dem PC gesessen, weil wir unter sp3 die Dokuemnte und Einstellungen einfach nicht umstellen konnten.
-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
ja endlich funktioniert der Scheiss!
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Na ich hoffe das war ein glückliches "Scheiss" Wort 

-
- Beiträge: 172
- Registriert: 10.08.2008 13:36:04
Re: ein Programm, dass per Parameter einen Hexstring ersetzt
Sorry,
ich hoere gerade ein Hoerbuch von Heinrich Boell aus der Zeit des Krieges, er sagt ganz oft Scheisse.
Naja, ich habe jetzt folgenden Befehl ausgefuehrt:
find /windows/ -type f -exec sed -i 's/C:\\Docu/h:\\Docu/g' {} \;
Ich hoffes es funktioniert.
ich hoere gerade ein Hoerbuch von Heinrich Boell aus der Zeit des Krieges, er sagt ganz oft Scheisse.
Naja, ich habe jetzt folgenden Befehl ausgefuehrt:
find /windows/ -type f -exec sed -i 's/C:\\Docu/h:\\Docu/g' {} \;
Ich hoffes es funktioniert.