Bash printf Funkció: 7 példa Linuxra

Bash printf Funkció: 7 példa Linuxra

Ha tisztességes ideig használta a Bash héjat, akkor valószínűleg tudja, hogyan kell karakterláncokat nyomtatni a Linux terminálon az echo paranccsal. A printf parancs azonban sokkal könnyebbé teszi a szöveg nyomtatását meghatározott formázással.





Ma megtanuljuk, hogyan kell használni a printf funkciót, hogy fejlesszük Bash szkriptírási készségeinket.





Mi a Bash printf funkció?

Ahogy a neve is sugallja, a printf egy olyan funkció, amely formázott szövegsorokat nyomtat. Ez azt jelenti, hogy írhat egy karakterláncstruktúrát (formátumot), és később kitöltheti értékekkel (az argumentumokkal).





Ha ismeri a C/C ++ programozási nyelveket, akkor talán már tudja, hogyan működik a printf. A Printf a Bash shellben nagyon hasonló, de van néhány apró különbség.

Tudj meg többet: A legjobb webhelyek a C ++ programozás megkezdéséhez



A printf használata a Bash Shellben

A printf alapvető szintaxisa a következő:

printf format [argument]

A Printf kinyomtatja a formátum karakterlánc végrehajtás közben szivárog ( ) és irányelveket ( % ) a megadott használatával érvek . Jegyezze meg a következő parancs kimenetét:





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

Printf vette át világ érvelés és felváltotta a %s karakter a megadott karakterláncban vele.

Észreveheti, hogy a kimenet után a Bash nem hoz létre új sort az Ön számára. Az echo paranccsal ellentétben a printf nem feltételezi, hogy új sort szeretne a kimenet kinyomtatása után. Ezért az új vonalkaraktert kell használnia n minden esetben.





Ha karakterláncot szeretne nyomtatni, majd új sorba szeretne lépni, írja be printf 'Helló, világ n' .

Hello, world

Fontos szem előtt tartani, hogy a printf megpróbálja újra használni a formátumot az összes érvhez. Használhatja ezt az előnyére, de ha nem vigyáz, akkor a következő eredményeket érheti el:

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

Tudnia kell azt is, hogy ha egy argumentum hiányzik, a printf minden irányelvet így értelmez 0 (egy számhoz) és nulla (egy húrra).

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

Most, hogy tudja, hogyan működik a Bash szkriptelés a printf használatával Linux alatt, készen áll a parancsok használatára.

Példák a Linux Bash printf -re

A Printf számos formátum -specifikátort tartalmaz, amelyeket a szkriptekben használhat. De ma csak néhány gyakori funkciót ismertetünk.

1. Formázza a kimenetet karakterlánccal

Ha a kimenetet szöveges karakterlánccal kívánja formázni, használja a %s irányelv.

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

2. Formázza a kimeneti karakterláncot tizedesjegyekkel

Egy karakterlánc egész számmal történő formázásához használhatja a %d irányelv az aláírt tizedesjegyre vonatkozóan.

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

Ne feledje, hogy ha aláíratlan tizedest szeretne használni a kimenetben, akkor a % u irányelv helyett.

hogyan lehet megállapítani, hogy feltörték -e a Facebook -fiókomat

Összefüggő: Mit jelent a „Bash” Linux alatt?

3. Kimeneti matematikai funkciók a printf használatával

A matematikai függvények formázása a printf paranccsal egyszerű. Csak helyezze kifejezését a kettős zárójelbe, mint általában a Bash -ben, és adja meg a kifejezést az argumentumlistában.

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

4. Hexadecimális számok formázása

Ha hexadecimális számot kell formáznia, használja % x kisbetűs és % X nagybetűvel.

$ printf %X 1000
3E8C

Az aktuális dátum és idő nyomtatásához kombinálhatja a printf fájlt a dátum parancsot és adja át a következő utasításokat.

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

Láthatja a hónap, nap, év, óra, perc és másodperc formátum -specifikátorait a fent említett kimenetben.

6. Formázza a karakterláncokat Unicode karakterekkel

A Unicode karakterek printf nyomtatásához használja a u menekülés a 16 bites Unicode és U 32 bites Unicode-hoz.

Például kinyomtathatja a szerzői jog szimbólum a következő paranccsal:

$ printf 'u00A9'
©

7. Add a szóközt a kimenethez

A karakterláncokat szóközzel formázhatja úgy, hogy az irányelv -specifikátor előtt minimális számú karaktert nyomtat. A nem használt karaktereket szóközökkel kell kitölteni.

Például gépelés printf '%s:%5d n' 'Érték 1' 25 'Érték 2' 120 kimenet lesz:

Value 1: 25
Value 2: 120

Az %5d formátum specifikátor a kimenetben azt jelzi, hogy a formázott karakterlánc legalább öt karaktert tartalmaz. Mivel a 25 csak két számjegyből áll, a többi karakterhez szóközök kerülnek.

Ha negatív számot ad meg szélességként, akkor az irányelv balra igazított lesz, nem jobbra igazítva.

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

Ha a szélességet változóvá szeretné tenni, akkor egy csillag helyett számot adhat át, és a printf a következő számot fogja használni az argumentumlistában.

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

Összefüggő: Minden, amit a Bash for Loops Linuxról tudnia kell

A Linux printf parancs megtanulása

A Bash scripting segédprogram övében található printf paranccsal készen áll összetett és változó karakterláncok nyomtatására a terminálon. A Bash szkriptek fejlesztése során fontos, hogy győződjön meg arról, hogy a lehető legtermékenyebb környezetben dolgozik. Ez nemcsak a parancssori készségeket javítja, hanem általában a munkafolyamatot is.

Részvény Részvény Csipog Email 10 legjobb Linux disztribúció fejlesztőknek

Készen áll a fejlesztésre egy nyílt forráskódú operációs rendszeren? Itt vannak a legjobb Linux disztribúciók a programozáshoz.

A Windows 10 telepítése nem találja az usb -t
Olvassa tovább Kapcsolódó témák
  • Linux
  • Linux Bash Shell
  • Linux parancsok
A szerzőről Jordan Gloor(51 cikk megjelent)

Jordan a MUO munkatársa, aki szenvedélyesen törekszik arra, hogy mindenki számára elérhetővé és stresszmentessé tegye a Linuxot. Útmutatókat is ír a magánéletről és a termelékenységről.

Bővebben: Jordan Gloor

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide