• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

frage zu tr

flyingt

Member
hi,

ich würde gerne den ersten Buchstaben einer Variablen immer Groß geschrieben haben.

habe da schon was gefunden:
Code:
 echo $string | tr 'a-z' 'A-Z'

aber leider nicht optimal , macht mir alles groß ???

um eine kurze Hilfestellung wäre ich euch sehr dankbar

gruß flyingt
 

TeXpert

Guru
tr ersetzt stumpf aus 2-listen die gleich lang sein müssen -> d.h. für jedes zeichen wird entsprechend das Zeichen aus der 2. Liste geschrieben.

hier fallen mir spontan 2 Lösungen ein (ok, mit Perl wirds auch gehen... aber....)

a/ bash + tr:

Code:
echo "$(echo ${string:0:1} | tr 'a-z' 'A-Z')${string:1}"
hier werden die entsprechenden Substrings getrennt behandelt.


b/ sed:

Code:
echo $string | sed -e 's/^\(.\)\(.*\)/\u\1\2/'

das Beispiel b lässt sich auch leicht mit perl nutzen ;)
 
Oben