Bash printf Funció: 7 exemples per a Linux

Bash printf Funció: 7 exemples per a Linux

Si utilitzeu el shell Bash durant un temps decent, probablement sabreu com imprimir cadenes al terminal Linux mitjançant l'ordre echo. L'ordre printf, però, facilita molt la impressió de text amb un format específic.





Avui aprendrem a fer ús de la funció printf per millorar les nostres habilitats de script Bash.





Què és la funció Bash printf?

Com el seu nom indica, printf és una funció que imprimeix cadenes de text formatades. Això vol dir que podeu escriure una estructura de cadenes (el format) i posteriorment omplir-la amb valors (els arguments).





Si esteu familiaritzat amb els llenguatges de programació C / C ++, potser ja sabreu com funciona printf. Printf al shell Bash és molt similar, però té algunes petites diferències.

Aprèn més: Els millors llocs per començar a programar C ++



Com s'utilitza printf a Bash Shell

La sintaxi bàsica per a printf és:

printf format [argument]

Printf imprimirà el fitxer format string mentre s’implementa fuites ( ) i directives ( % ) mitjançant l’ús d’especificats arguments . Tingueu en compte la sortida de l'ordre següent:





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

Printf es va endur el món argument i va substituir el fitxer % s caràcter de la cadena especificada amb ell.

És possible que noteu que després de la sortida, Bash no us crea cap línia nova. A diferència de l'ordre echo, printf no assumirà que voleu una nova línia després d'imprimir la sortida. Per tant, haureu d’utilitzar el nou caràcter de línia n en cada cas.





Per imprimir una cadena i després passar a una nova línia, escriviu printf 'Hola, món n' .

Hello, world

És important tenir en compte que printf intentarà reutilitzar el format per a tots els vostres arguments. Podeu utilitzar-ho al vostre avantatge, però si no aneu amb compte, podeu obtenir resultats com aquest:

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

També heu de tenir en compte que si falta un argument, printf interpretarà qualsevol directiva com a 0 (per a un número) i nul (per a una cadena).

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

Ara que ja sabeu com funciona la creació de scripts de Bash amb printf a Linux, ja podeu començar a utilitzar-lo a les vostres ordres.

Linux Bash printf Exemples

Printf inclou molts especificadors de format que podeu utilitzar als vostres scripts. Però avui només en cobrirem alguns de comuns per a la funció.

1. Format de sortida amb una cadena

Per formatar la sortida amb cadenes de text, utilitzeu el fitxer % s directiva.

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

2. Format de la cadena de sortida amb decimals

Per formatar una cadena amb un nombre enter, podeu utilitzar el fitxer % d directiva per a un decimal signat.

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

Tingueu en compte que si voleu utilitzar un decimal sense signar a la sortida, haureu d'utilitzar el fitxer % u directiva al seu lloc.

apareixen anuncis de facebook al telèfon

Relacionat: Què significa 'Bash' a Linux?

3. Funcions matemàtiques de sortida mitjançant printf

És fàcil formatar les funcions matemàtiques amb l’ordre printf. Simplement col·loqueu la vostra expressió dins de parèntesis dobles, com ho feu normalment a Bash, i especifiqueu l'expressió a la llista d'arguments.

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

4. Formateu els nombres hexadecimals

Si heu de formatar un número hexadecimal, utilitzeu % x per a minúscules i % X per a majúscules.

$ printf %X 1000
3E8C

Per imprimir la data i hora actuals, podeu combinar printf amb el fitxer data ordeneu i aproveu les directrius següents.

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

Podeu veure els especificadors de format de mes, dia, any, hora, minut i segon a la sortida esmentada.

6. Format de cadenes amb caràcters Unicode

Per imprimir caràcters Unicode amb printf, utilitzeu el fitxer u escape per Unicode i 16 bits U per a Unicode de 32 bits.

Per exemple, podeu imprimir el fitxer copyright símbol amb l'ordre següent:

$ printf 'u00A9'
©

7. Afegiu espaiat a la sortida

Podeu formatar les vostres cadenes amb espaiat definint, abans de l’especificador de directiva, un nombre mínim de caràcters impresos. Els caràcters no utilitzats s’ompliran d’espais.

Per exemple, escrivint printf '% s:% 5d n' 'Valor 1' 25 'Valor 2' 120 produirà:

Value 1: 25
Value 2: 120

El % 5d especificador de format a la sortida indica que la cadena formatada contindrà un mínim de cinc caràcters. Com que 25 només té dos dígits, s’afegeixen espais als caràcters restants.

Si passeu un número negatiu com a amplada, la directiva es justificarà a l'esquerra en lloc de justificar-la a la dreta.

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

Si voleu que l’amplada sigui variable, podeu passar un asterisc en lloc d’un número i printf utilitzarà el següent número que trobarà a la llista d’arguments.

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

Relacionat: Tot el que heu de saber sobre Bash for Loops a Linux

Aprenent l’ordre Linux printf

Amb l’ordre printf al cinturó d’utilitat de scripting Bash, ja podeu començar a imprimir cadenes complexes i variables al vostre terminal. A mesura que desenvolupeu els vostres scripts de Bash, és important assegurar-vos que esteu treballant en un entorn el més productiu possible. Això no només millorarà les vostres habilitats en línia de comandes, sinó que també millorarà el flux de treball en general.

Compartir Compartir Tweet Correu electrònic 10 millors distribucions de Linux per a desenvolupadors

Esteu a punt per començar el desenvolupament d'un sistema operatiu de codi obert? Aquí teniu les millors distribucions de Linux per programar.

com mirar llocs web antics
Llegiu a continuació Temes relacionats
  • Linux
  • Linux Bash Shell
  • Ordres de Linux
Sobre l'autor Jordan Gloor(51 articles publicats)

Jordan és un escriptor de MUO apassionat de fer Linux accessible i sense estrès per a tothom. També escriu guies sobre privadesa i productivitat.

Més de Jordan Gloor

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us