Mehrere Zeichen in Textdatei ersetzen

Gast #6954956
Lesenswert?

1
Angenommen in einer Datei möchte ich die Zeichen §$&€ jeweils durch * ersetzen.
1
$ sed 's/[\§\$\&\€]/*/g' 'Eingabe-Datei' 
2
Angenommen in einer Datei möchte ich die Zeichen **** jeweils durch * ersetzen.
Gast #6955365
Lesenswert?

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
Gast #6956258
Lesenswert?

Eine Batchdatei mit diesem Inhalt tut es:
1
setlocal enabledelayedexpansion
2
copy nul nach.txt
3
for /f "tokens=*" %%i in (von.txt) do (
4
  set s=%%i
5
  set s=!s:§=*!
6
  set s=!s:$=*!
7
  set s=!s:^&=*!
8
  set s=!s:=*!
9
  echo !s!>>nach.txt
10
  )
11
endlocal
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren