Eingang
> a='Vikas'
> echo $a
Vikas
meine erforderliche Ausgabe ist
echo $a | <some command>
vIKAS
Antwort1
$ echo Vikas | LC_ALL=C tr a-zA-Z A-Za-z
vIKAS
Das Dienstprogramm tr
übersetzt Zeichen. Es nimmt zwei Argumente an, die Zeichensätze darstellen. Anschließend kopiert es die Standardeingabe in die Standardausgabe und ersetzt jedes im ersten Satz gefundene Zeichen durch das entsprechende Zeichen im zweiten Satz. In dieser Anwendung ersetzt es Kleinbuchstaben durch Großbuchstaben und umgekehrt. Siehe dieManualpage von tr(1)für Details und für andere Verarbeitungen, die tr
durchgeführt werden können.
Antwort2
Sie können den Befehl tr mit den Optionen [:upper:] und [:lower:] wie folgt verwenden:
echo "aBcDeF" |tr '[:upper:][:lower:]' '[:lower:][:upper:]'
AbCdEf
Sie können auch den sed-Befehl (steht für „Stream Editor“) wie folgt verwenden:
echo "abcd ABCD" |sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/'
sed bietet mehr Flexibilität, d. h. Sie können jede beliebige Zeichenzuordnung definieren. Mit diesem Befehl können Sie beispielsweise Zahlen in Hacker-Buchstaben umwandeln:
echo "52065218802365" |sed 'y/0123456789/OIZEhSGLBP/'
SZOGSZIBBOZEGS