Ich versuche, einen Shell-Befehl zu schreiben, wo ich ein Verzeichnis angeben kann, und dann wird jede Datei und jedes Verzeichnis darin den ersten Buchstaben jedes Wortes groß geschrieben haben. Also
/doCumenTS/tesT.txt
sollte zu
geändert werden /DoCumenTS/TesT.txt
Ich denke, es sollte wie
beginnen %Vor%Das Problem, das ich nicht herausfinden kann, ist, wie man nur den ersten Buchstaben macht. Ich habe ein Skript gemacht, das den ganzen Dateinamen in Großbuchstaben schreibt, aber ich kann nicht herausfinden, wie man nur den ersten Buchstaben jedes Wortes bekommt.
Danke!
Das geht mit GNU sed ganz einfach. Zum Beispiel:
%Vor%Beachten Sie, dass es sich beim \ U escape um eine GNU sed-Erweiterung handelt. Das Handbuch sagt:
%Vor%Schließlich können Sie als GNU-Erweiterung "sed" eine spezielle Sequenz einfügen, die aus einem umgekehrten Schrägstrich und einem der Buchstaben "L", "l", "U", "u" oder "E" besteht / p>
Bash 4.0+ hat eine Parameterersetzung 'Kleinbuchstaben zu Großbuchstaben'. Nur ändern das erste Zeichen benutze es so:
%Vor%Das Ergebnis:
%Vor%