Ich muss ein Shell-Skript schreiben, um Zeichen in einer Datei in Kleinbuchstaben umzuwandeln und Nicht-Alpha-Zeichen durch _
zu ersetzen .
Ich habe einen separaten Befehl für die beiden oben genannten. Wie man eine Datei als Argument angibt und die oben genannten Dinge erledigt, d.h. die Ausgabe enthält nur Kleinbuchstaben und Nicht-Alpha wird durch _
ersetzt (Unterstrich)?
Akzeptierte Antwort:
Mit sed
:
sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
Das sind eigentlich zwei sed
Befehle getrennt durch ;
:
-
s/[^[:alpha:]]/_/g
wandelt jedes nicht-alphabetische Zeichen in einen_
um -
s/[[:upper:]]/\L&/g
wandelt alle Großbuchstaben in Kleinbuchstaben um
Beispiel:
$ cat file.txt
fooBAr132323
SpamEgg
$ sed 's/[^[:alpha:]]/_/g; s/[[:upper:]]/\L&/g' file.txt
foobar______
spamegg