Gast
#6954954
Hi Angenommen in einer Datei möchte ich die Zeichen §$&€ jeweils durch * ersetzen. Kann man dies über regex in einem SChritt machen? Ich versuch mich grad mit UltraEdit
|
Anzeige
|
Mehrere Zeichen in Textdatei ersetzen
Gast
#6954954
Hi Angenommen in einer Datei möchte ich die Zeichen §$&€ jeweils durch * ersetzen. Kann man dies über regex in einem SChritt machen? Ich versuch mich grad mit UltraEdit
Gast
#6954956
Gast
#6954961
Regex ist ja erstmal für die Suche, nicht für die Ersetzung... Aber ja, die meisten Regex-Dialekte kennen matches auf "eines der Zeichen aus der Auswahl", meist mit eckigen Klammern: https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck#Ein_Zeichen_aus_einer_Auswahl und https://www.ultraedit.com/wiki/Regular_expressions MfG, Arno Ist * ein gutes Zeichen für Dateinamen? Ansonsten: sed ... y/.../.../...
Gast
#6955365
Joachim B. schrieb: > Angenommen in einer Datei möchte ich die Zeichen §$&€ jeweils durch * > ersetzen. Du brauchst halt das für das * Zeichen passende Maskierungszeichen. Keine Ahnung welche das bei Ultraedit ist, der Klassiker dürfte aber \* sein. ** kannst du auch mal probieren. https://de.wikipedia.org/wiki/Escape-Sequenz#Maskierungszeichen_zum_Verhindern_einer_Escape-Sequenz Nano schrieb: > Du brauchst halt das für das * Zeichen passende Maskierungszeichen. Das braucht man normalerweise nur für den Match-String, nicht für den Ersetzungsstring.
Gast
#6956258
Eine Batchdatei mit diesem Inhalt tut es:
Die Dateinamen 'von.txt' und 'nach.txt' können b. B. für universelle Verwendung durch Parameter %1 und %2 ersetzt werden. Das Zeichen '&' muss geflüchtet werden '^&'. Gruß WIRO
Gast
#6956269
Norbert schrieb: > $ sed 's/[\§\$\&\€]/*/g' 'Eingabe-Datei' > Angenommen in einer Datei möchte ich die Zeichen **** jeweils durch * > ersetzen. Funktioniert hier nicht... sed kommt anscheinend nicht mit €§ klar.
Gast
#6956272
udok schrieb: > Funktioniert hier nicht... sed kommt anscheinend nicht mit €§ klar. MIt "export LANG=C.UTF-8" gehts, System ist Msys64.
Gast
#6956369
cat datei | tr '§|$|&|€' '*' > datei_neu
Gast
#6956414
Johgi schrieb: > cat datei | tr '§|$|&|€' '*' > datei_neu Das funktioniert nicht, da es auch | in * umwandelt. Lass | einfach weg, dann gehts. tr hat eigene Regeln, die nicht kompatibel mit sed sind. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|