Comando Bash Printf

Comando Bash Printf
Trabalhando com scripts de bash, usamos principalmente o comando "Echo" para imprimir qualquer saída, que seja conveniente e fácil de usar e atenda ao requisito na maioria das vezes. Mas a simplicidade vem com limitação; O Comando Echo tem sua própria limitação quando se trata de formatar a saída, nesse caso, “printf”Comando desempenha seu papel.

O "printf”Comando em scripts de bash funciona da mesma maneira“printf ()”Funciona no idioma C. Este post se concentrará no “printf”Comando, sua sintaxe e exemplos que elaboram ainda mais o uso deste comando. Vamos verificar a sintaxe do “printf”Comando:

printf

: É opcional atribuir saída a uma variável.
: É uma string que pode conter diferentes especificadores de formato, como "%s", "%b", "%d", "%f" e backslash Escape
: Os argumentos podem ser qualquer valor ou variável

Como usar o comando printf em scripts bash usando o editor vim:

Estamos usando o VIM Editor para este guia devido à sua rica funcionalidade e facilidade de uso. Obtenha o VIM no seu dispositivo usando:

$ sudo apt install vim

Lançar o VIM Editor:

$ vim

Vamos escrever um programa simples para imprimir uma string usando "printf":

#! /BIN/BASH
printf “Hello Linuxhint”

Para salvar o arquivo, pressione o “Esc"Botão para alternar o modo e depois digitar “: W Exemplo.sh "e então"Entedr ”. Agora abra uma nova janela do terminal e digite:

$ Bash Exemplo.sh

O comando acima será executado o script da impressão “Hello Linuxhint”, como mostrado abaixo:

Agora, vamos incluir alguns especificadores de formato:

#! /BIN/BASH
printf “%s \ n” “Hello Linuxhint”

No exemplo acima, "%s" diz que o argumento correspondente deve ser tratado como string e "\ n" para a nova linha. Da mesma forma, se usarmos "%d", o argumento será tratado como um número inteiro:

#! /BIN/BASH
printf “%s \ n” “Hello Linuxhint” “Aprenda sobre” “Linux”

Todos os três argumentos serão tratados como uma corda e impressos em uma nova linha, conforme demonstrado na seguinte saída:

Outro exemplo é mencionado abaixo para entender o uso do comando "printf":

#! /BIN/BASH
eco “digite seu nome”
Leia o nome
eco “entre na sua idade”
Leia a idade
printf “Seu nome: %s \ nyour idade: %s \ n” “$ name” “$ idade”

“Seu nome: %s \ n sua idade: %s \ n” é formato enquanto “$ nome” "$ Idade" são os argumentos. Enquanto "%s" apontando os argumentos.

Como usar especificadores de conversão com comando printf:

Os especificadores de conversão são caracteres usados ​​com o sinal "%" para indicar como tratar os argumentos. Vamos verificar a lista de alguns especificadores comumente usados:

Especificador Descrenda
%% Imprime o símbolo “%”
%c Toma argumentos como um único personagem
%E e %E Aceite o argumento do número de ponto flutuante e impressões em notação exponencial, %e para letra minúscula e %E para letra maiúscula
%g e %g Pegue argumento no número de ponto flutuante e impressões em notação normal ou exponencial
%f Assume o argumento como números flutuantes
%d Leva argumentos como números inteiros assinados
%você Toma argumento como números inteiros não assinados
%o Argumenta como um número octal não assinado
%x e %x Toma argumentos como números inteiros hexadecimais não assinados

Vamos elaborar ainda mais os especificadores acima com um exemplo em Bash:

#! /BIN/BASH
eco “digite um número para converter”
Número de leitura
printf “decimal: %d \ noctal: %O \ nhex: %x \ n” “$ número” “$ número” “$ número”

Como usar as diretivas de bandeira, largura e precisão com comando printf:

As diretivas de sinalizador vêm com uso opcional com o comando "printf". As diretivas de bandeira comumente usadas são

  • “-” Esquerda justifica a saída
  • "+" Adiciona sinal "+" com inteiro
  • "0" adiciona "0" com um número em vez de espaços

Diretivas de largura Adicione espaço com a saída geralmente usada após a bandeira. Vamos entender com um exemplo:

#! /BIN/BASH
eco “digite seu nome”
Leia o nome
eco “entre na sua idade”
Leia a idade
printf “Seu nome e idade são: %5s %5d \ n” “$ nome” “idade”

“%30s” significa que o espaço tem 30 caracteres e, para alinhar a forma de saída esquerda, use o sinal “-” “%-30s”.

A diretiva de precisão consiste no ponto “.“Seguindo por número inteiro positivo:

#! /BIN/BASH
printf “%.2f ”2.56473

A saída seria:

Se o número for um número inteiro, a diretiva de precisão adicionará "0" antes do número. Se o número for do tipo de ponto flutuante, a diretiva precisão especificará o número de dígitos positivos após o ponto decimal. Para string, ele especifica o número de caracteres a serem exibidos:

#! /BIN/BASH
printf “%.2f \ n ”2.468936
printf “%.3d \ n ”10
printf “%.3s \ n ”“ Samlinux ”

Parâmetros escapados de barragem:

Os parâmetros de fuga de barragem, também chamados de seqüências de fuga, são usados ​​com uma barra de barra para formatar a string com o comando "printf". Essas seqüências não se representam, mas interpretam em alguns outros personagens. Algumas sequências de fuga comumente usadas são:

Personagem Descrição
\\ Imprime o caractere de barragem
\ b Imprime o caractere backspace
\ n Imprime a saída em uma nova linha
\ r Imprime um retorno de carruagem (cursor no início da linha)
\ t Dá espaço de guia da direita
\ v Dá espaço na guia

Conclusão:

Quando se trata de imprimir algo em scripts de bash, o comando "Echo" é mais comumente usado porque é fácil de usar e lembre -se. Mas o comando "Echo" tem sua limitação. Portanto, para formatar corretamente a saída, o “Printf” O comando pode ser usado. O “Printf” O comando vem com muitas opções para formatar a saída da string e até as conversões e a formatação dos números básicos. Este guia compreende completamente a funcionalidade do comando "printf" em scripts de bash com exemplos.