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]
instagram viewer

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.

Email
10 besten Linux-Distributionen für Entwickler

Bereit, die Entwicklung auf einem Open Source-Betriebssystem zu starten? Hier sind die besten Linux-Distributionen für die Programmierung.

Weiter lesen

Verwandte Themen
  • Linux
  • Linux Bash Shell
  • Linux-Befehle
Über den Autor
Jordan Gloor (32 Artikel veröffentlicht)

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.

Mehr von Jordan Gloor

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.

.