Ich muss den ersten Buchstaben jeder Zeile in einer Datei in Großbuchstaben ändern, z. B.
%Vor%würde werden:
%Vor%Wie kann ich den ersten Buchstaben jeder Zeile in der Datei in Großbuchstaben ändern?
Verwenden Sie sed
:
Kleine Erklärung:
^
steht für den Anfang einer Zeile. .
entspricht einem beliebigen Zeichen \U
wird in Großbuchstaben konvertiert \( ... \)
gibt einen Abschnitt an, auf den später verwiesen wird (in diesem Fall als
); Klammern sind hier zu entkommen. Versuchen Sie nicht , die Ausgabe auf die gleiche Datei in einem Befehl umzuleiten (d. h. ), da Sie Ihre Daten verlieren. Wenn Sie in derselben Datei ersetzen möchten, dann überprüfen Sie die Antwort von joelparkerhenderson. > yourfile
Es gibt ein paar Sed Antworten mit s/^\(.\)/\U/
. GNU sed hat auch eine \u
-Direktive, die nur den nächsten Großbuchstaben ändert, also
Obwohl das erste Zeichen in einer Zeile ein Leerzeichen ist, wird kein Großbuchstabe angezeigt, also
%Vor%Tags und Links bash unicode-string case