Wenn Sie die Bash-Shell längere Zeit verwendet haben, wissen Sie wahrscheinlich, wie Sie mit dem Befehl echo Zeichenfolgen im Linux-Terminal drucken. Der Befehl printf erleichtert jedoch das Drucken von Text mit einer bestimmten Formatierung erheblich.
Heute lernen wir, wie wir die printf-Funktion nutzen können, um unsere Bash-Scripting-Fähigkeiten zu verbessern.
Was ist die Bash printf Funktion?
Wie der Name schon sagt, ist printf eine Funktion, die formatierte Textzeichenfolgen druckt. Das heißt, Sie können eine Zeichenfolgenstruktur (das Format) schreiben und später mit Werten (den Argumenten) füllen.
Wenn Sie mit den Programmiersprachen C / C ++ vertraut sind, wissen Sie möglicherweise bereits, wie printf funktioniert. Printf in der Bash-Shell ist sehr ähnlich, weist jedoch einige kleine Unterschiede auf.
Erfahren Sie mehr: Beste Websites für den Einstieg in die C ++ - Programmierung
Verwendung von printf in der Bash Shell
Die grundlegende Syntax für printf lautet:
printf format [Argument]
Printf druckt die Format Zeichenfolge während der Implementierung entkommt (\) und Richtlinien (%) durch die Verwendung von angegebenen Argumente. Beachten Sie die Ausgabe des folgenden Befehls:
$ printf "Hallo,% s" Welt
Hallo Welt
Printf nahm die Welt Argument und ersetzte die % s Zeichen in der angegebenen Zeichenfolge damit.
Möglicherweise stellen Sie fest, dass Bash nach der Ausgabe keine neue Zeile für Sie erstellt. Im Gegensatz zum Befehl echo geht printf nicht davon aus, dass Sie nach dem Drucken der Ausgabe eine neue Zeile wünschen. Daher müssen Sie das neue Zeilenzeichen verwenden \ n in jedem Fall.
Geben Sie Folgendes ein, um eine Zeichenfolge zu drucken und dann in eine neue Zeile zu wechseln printf "Hallo Welt \ n".
Hallo Welt
Es ist wichtig zu beachten, dass printf versucht, das Format für alle Ihre Argumente wiederzuverwenden. Sie können dies zu Ihrem Vorteil nutzen, aber wenn Sie nicht vorsichtig sind, können Sie folgende Ergebnisse erzielen:
$ printf "Mein Name ist% s" Jordan Gloor
Mein Name ist Jordan. Mein Name ist Gloor
Sie sollten sich auch darüber im Klaren sein, dass printf alle Anweisungen als interpretiert, wenn ein Argument fehlt 0 (für eine Nummer) und Null (für eine Zeichenfolge).
$ printf "Hallo,% s."
Hallo, .
Nachdem Sie nun wissen, wie Bash-Scripting mit printf unter Linux funktioniert, können Sie es in Ihren Befehlen verwenden.
Linux Bash printf Beispiele
Printf bietet viele Formatspezifizierer, die Sie in Ihren Skripten verwenden können. Aber heute werden wir nur einige gebräuchliche für die Funktion behandeln.
1. Ausgabe mit einer Zeichenfolge formatieren
Verwenden Sie die Taste, um die Ausgabe mit Textzeichenfolgen zu formatieren % s Richtlinie.
$ printf "% s ist eines der größten Online-% s." MUO "Technologiepublikationen"
MUO ist eine der größten Online-Technologiepublikationen.
2. Formatieren Sie die Ausgabezeichenfolge mit Dezimalstellen
Um eine Zeichenfolge mit einer Ganzzahl zu formatieren, können Sie die verwenden % d Direktive für eine vorzeichenbehaftete Dezimalstelle.
$ printf "MUO wurde in% d gegründet." 2007
MUO wurde 2007 gegründet.
Beachten Sie, dass Sie, wenn Sie in der Ausgabe eine vorzeichenlose Dezimalstelle verwenden möchten, die verwenden müssen % u Richtlinie stattdessen.
Verbunden: Was bedeutet "Bash" unter Linux?
3. Mathematische Funktionen mit printf ausgeben
Das Formatieren von mathematischen Funktionen mit dem Befehl printf ist einfach. Platzieren Sie Ihren Ausdruck einfach in doppelten Klammern, wie Sie es normalerweise in Bash tun, und geben Sie den Ausdruck in der Argumentliste an.
$ printf "1 + 1 ist% d" $ ((1 + 1))
1 + 1 ist 2
4. Hexadezimalzahlen formatieren
Wenn Sie eine Hexadezimalzahl formatieren müssen, verwenden Sie % x für Kleinbuchstaben und % X. für Großbuchstaben.
$ printf% X 1000
3E8C
5. Datum und Uhrzeit drucken
Um das aktuelle Datum und die aktuelle Uhrzeit zu drucken, können Sie printf mit dem kombinieren Datum Befehl und übergeben Sie die folgenden Anweisungen.
$ printf "% (% m-% d-% Y% H:% M:% S) T" $ (Datum +% s)
03-26-2021 15:27:57
Sie können die Formatspezifizierer für Monat, Tag, Jahr, Stunde, Minute und Sekunde in der oben genannten Ausgabe sehen.
6. Formatieren Sie Zeichenfolgen mit Unicode-Zeichen
Verwenden Sie die Taste, um Unicode-Zeichen mit printf zu drucken \ u Escape für 16-Bit-Unicode und \ U. für 32-Bit-Unicode.
Zum Beispiel können Sie die drucken Urheberrechte © Symbol mit folgendem Befehl:
$ printf "\ u00A9"
©
7. Fügen Sie der Ausgabe einen Abstand hinzu
Sie können Ihre Zeichenfolgen mit Abständen formatieren, indem Sie vor dem Direktivenbezeichner eine minimale Anzahl gedruckter Zeichen definieren. Nicht verwendete Zeichen werden mit Leerzeichen ausgefüllt.
Zum Beispiel tippen printf% s:% 5d \ n Wert 1 25 Wert 2 120 wird ausgegeben:
Wert 1: 25
Wert 2: 120
Das % 5d Der Formatbezeichner in der Ausgabe gibt an, dass die formatierte Zeichenfolge mindestens fünf Zeichen enthält. Da 25 nur zwei Ziffern hat, werden den verbleibenden Zeichen Leerzeichen hinzugefügt.
Wenn Sie eine negative Zahl als Breite übergeben, wird die Direktive nicht rechtsbündig, sondern linksbündig ausgerichtet.
$ printf% -10s:% d "Circles" 25 "Boxes" 120
Kreise: 25 Boxen: 120
Wenn Sie die Breite variabel machen möchten, können Sie anstelle einer Zahl ein Sternchen übergeben, und printf verwendet die nächste Zahl, die in der Argumentliste gefunden wird.
$ printf "% * s:% d" -10 "Circles" 25 -10 "Boxes" 120
Kreise: 25 Boxen: 120
Verbunden: Alles, was Sie über Bash For Loops unter Linux wissen müssen
Erlernen des Linux-Befehls printf
Mit dem Befehl printf in Ihrem Bash-Skript-Dienstprogramm können Sie komplexe und unterschiedliche Zeichenfolgen in Ihrem Terminal drucken. Bei der Entwicklung Ihrer Bash-Skripte ist es wichtig, dass Sie in einer möglichst produktiven Umgebung arbeiten. Dies verbessert nicht nur Ihre Befehlszeilenfähigkeiten, sondern auch Ihren Workflow im Allgemeinen.
Bereit, die Entwicklung auf einem Open Source-Betriebssystem zu starten? Hier sind die besten Linux-Distributionen für die Programmierung.
Weiter lesen
- Linux
- Linux Bash Shell
- Linux-Befehle
Jordan ist ein Tutor und Journalist, der sich leidenschaftlich dafür einsetzt, Linux für alle zugänglich und stressfrei zu machen. Er hat einen BA in Englisch und ein Ding für heißen Tee. Während der warmen Jahreszeit radelt er gerne auf den Hügeln der Ozarks, in denen er lebt.
Abonniere unseren Newsletter
Melden Sie sich für unseren Newsletter an, um technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote zu erhalten!
Noch ein Schritt…!
Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.