Bash printf-Funktion: 7 Beispiele für Linux

Bash printf-Funktion: 7 Beispiele für Linux

Wenn Sie die Bash-Shell schon seit einiger Zeit verwenden, wissen Sie wahrscheinlich, wie Sie Strings im Linux-Terminal mit dem echo-Befehl drucken. Der Befehl printf erleichtert jedoch das Drucken von Text mit einer bestimmten Formatierung.





Heute lernen wir, wie wir die printf-Funktion nutzen, 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 String-Struktur (das Format) schreiben und diese später mit Werten (den Argumenten) füllen.





Wenn Sie mit den Programmiersprachen C/C++ vertraut sind, wissen Sie vielleicht 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



So verwenden Sie printf in der Bash-Shell

Die grundlegende Syntax für printf ist:

printf format [argument]

Printf druckt die Format String beim Implementieren leckt ( ) und Richtlinien ( % ) durch die Verwendung von angegebenen Argumente . Beachten Sie die Ausgabe des folgenden Befehls:





$ printf 'Hello, %s' world
Hello, world

Printf nahm die Welt Argument und ersetzte die %S Zeichen in der angegebenen Zeichenfolge mit.

Sie werden vielleicht feststellen, dass Bash nach der Ausgabe keine neue Zeile für Sie erstellt. Im Gegensatz zum echo-Befehl geht printf nicht davon aus, dass Sie nach dem Drucken der Ausgabe eine neue Zeile wünschen. Daher müssen Sie das Zeilenumbruchzeichen verwenden in jedem Fall.





Um eine Zeichenfolge zu drucken und dann zu einer neuen Zeile zu wechseln, geben Sie ein printf 'Hallo Welt ' .

Hello, world

Denken Sie daran, dass printf versucht, das Format für alle Ihre Argumente wiederzuverwenden. Sie können dies zu Ihrem Vorteil nutzen, aber wenn Sie nicht aufpassen, können Sie folgende Ergebnisse erzielen:

$ printf 'My name is %s ' Jordan Gloor
My name is Jordan My name is Gloor

Sie sollten sich auch bewusst sein, dass printf alle Anweisungen interpretiert, wenn ein Argument fehlt als 0 (für eine Zahl) und Null (für eine Schnur).

$ printf 'Hello, %s.'
Hello, .

Nachdem Sie nun wissen, wie Bash-Skripting mit printf unter Linux funktioniert, können Sie es in Ihren Befehlen verwenden.

Linux Bash printf-Beispiele

Printf bietet viele Formatbezeichner, die Sie in Ihren Skripten verwenden können. Aber heute werden wir nur einige gängige für die Funktion behandeln.

1. Formatieren Sie die Ausgabe mit einer Zeichenfolge

Um die Ausgabe mit Textzeichenfolgen zu formatieren, verwenden Sie die %S Richtlinie.

$ printf '%s is one of the largest online %s.' MUO 'technology publications'
MUO is one of the largest online technology publications.

2. Formatieren Sie die Ausgabezeichenfolge mit Dezimalstellen

Um eine Zeichenfolge mit einer Ganzzahl zu formatieren, können Sie die %D Direktive für eine vorzeichenbehaftete Dezimalstelle.

$ printf 'MUO was founded in %d.' 2007
MUO was founded in 2007.

Beachten Sie, dass Sie, wenn Sie eine Dezimalzahl ohne Vorzeichen in der Ausgabe verwenden möchten, die % u Direktive statt.

Was ist Kodi und wie funktioniert es?

Verwandt: Was bedeutet 'Bash' unter Linux?

3. Mathefunktionen mit printf . ausgeben

Das Formatieren mathematischer Funktionen mit dem Befehl printf ist einfach. Setzen Sie Ihren Ausdruck einfach in doppelte Klammern, wie Sie es normalerweise in Bash tun, und geben Sie den Ausdruck in der Argumentliste an.

$ printf '1 + 1 is %d' $((1+1))
1 + 1 is 2

4. Formatieren Sie Hexadezimalzahlen

Wenn Sie eine Hexadezimalzahl formatieren müssen, verwenden Sie % x für Kleinbuchstaben und % X für Großbuchstaben.

$ printf %X 1000
3E8C

Um das aktuelle Datum und die aktuelle Uhrzeit zu drucken, können Sie printf mit dem Datum Befehl und übergeben Sie die folgenden Anweisungen.

$ printf '%(%m-%d-%Y %H:%M:%S)T' $(date +%s)
03-26-2021 15:27:57

Sie können die Formatbezeichner für Monat, Tag, Jahr, Stunde, Minute und Sekunde in der oben genannten Ausgabe sehen.

6. Formatieren von Strings mit Unicode-Zeichen

Um Unicode-Zeichen mit printf zu drucken, verwenden Sie die u Escape für 16-Bit-Unicode und U für 32-Bit-Unicode.

Sie können zum Beispiel die Urheberrechte © Symbol mit folgendem Befehl:

$ printf 'u00A9'
©

7. Fügen Sie der Ausgabe einen Abstand hinzu

Sie können Ihre Zeichenfolgen mit Leerzeichen formatieren, indem Sie vor dem Direktivenbezeichner eine minimale Anzahl von gedruckten Zeichen definieren. Nicht verwendete Zeichen werden mit Leerzeichen aufgefüllt.

Zum Beispiel tippen printf '%s:%5d ' 'Wert 1' 25 'Wert 2' 120 wird ausgeben:

Value 1: 25
Value 2: 120

Die %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 die restlichen Zeichen mit Leerzeichen ergänzt.

Wenn Sie eine negative Zahl als Breite übergeben, wird die Direktive linksbündig statt rechtsbündig ausgerichtet.

$ printf '%-10s: %d ' 'Circles' 25 'Boxes' 120
Circles : 25 Boxes : 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 es in der Argumentliste findet.

$ printf '%*s: %d ' -10 'Circles' 25 -10 'Boxes' 120
Circles : 25 Boxes : 120

Verwandt: Alles, was Sie über Bash For Loops in Linux wissen müssen

Erlernen des Linux-Befehls printf

Mit dem printf-Befehl in Ihrem Bash-Scripting-Hilfsprogramm können Sie mit dem Drucken komplexer und variierender Zeichenfolgen in Ihrem Terminal beginnen. Bei der Entwicklung Ihrer Bash-Skripte ist es wichtig sicherzustellen, dass Sie in einer möglichst produktiven Umgebung arbeiten. Dies verbessert nicht nur Ihre Kommandozeilen-Fähigkeiten, sondern verbessert auch Ihren Arbeitsablauf im Allgemeinen.

Teilen Teilen Tweet Email 10 beste Linux-Distributionen für Entwickler

Sind Sie bereit, mit der Entwicklung auf einem Open-Source-Betriebssystem zu beginnen? Hier sind die besten Linux-Distributionen zum Programmieren.

wie man den ram auf macbook pro erhöht
Weiter lesen Verwandte Themen
  • Linux
  • Linux-Bash-Shell
  • Linux-Befehle
Über den Autor Jordan Gloor(51 Artikel veröffentlicht)

Jordan ist ein angestellter Autor bei MUO, der sich leidenschaftlich dafür einsetzt, Linux für alle zugänglich und stressfrei zu machen. Er schreibt auch Leitfäden zu Datenschutz und Produktivität.

Mehr von Jordan Gloor

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren