Text-alignment-center - shell-Skript
Ich bin erstellen einer einfachen console based script über shell-Skript.Es läuft auf meinem bash-shell
Seine einfachen Menü-basierte driven display einige Optionen.
Will ich jetzt tun, - center-richten Sie den text je nach Bildgröße.
Wie kann ich einen text ausrichten in der Mitte des Bildschirms?Bitte assis mir
InformationsquelleAutor Karthick V | 2012-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich fand ich die Lösung:)
printf "%*s\n" $(( ( $(echo $* | wc -c ) + 80 ) / 2 )) "$*"
nimmt Eingaben aus der Kommandozeile Argumente, nutzt wc zum zählen der Anzahl von Zeichen, und die Standard-rechtfertigt zu 80 Zeichen.InformationsquelleAutor Karthick V
Auf BSD-basierten Systemen, einschließlich Mac, die
fmt
- Dienstprogramm hat eine-c
flag, center text.Leider GNU
fmt
hat eine inkompatible -c-flag und keine alternative für die Zentrierung.InformationsquelleAutor Richard Brittain
Einfache Perl-Lösung:
Versuchen Sie, es zu sehen. Fügen Sie einfach eine Zeile in das Skript, das Weiterreichen der text zentriert werden (
generate-text | perl ...
) oder verwenden Sie es als ein argument (perl ... text.txt
)Schließlich fand ich die Lösung: SPALTEN=$(tput cols) Titel="Hallo Welt!" printf "%*s\n" $(((${#title}+$SPALTEN)/2)) "$Titel"
bitte posten Sie Ihre Lösung als separate Antwort nicht als Kommentar zu dieser Antwort. Es wird helfen, andere finden es leichter.
InformationsquelleAutor choroba