Bash printf Funkcija: 7 piemēri Linux

Bash printf Funkcija: 7 piemēri Linux

Ja esat lietojis Bash apvalku pienācīgu laiku, jūs droši vien zināt, kā drukāt virknes Linux terminālī, izmantojot komandu echo. Komanda printf tomēr ievērojami atvieglo teksta drukāšanu ar īpašu formatējumu.





Šodien mēs uzzināsim, kā izmantot funkciju printf, lai uzlabotu mūsu Bash skriptu rakstīšanas prasmes.





Kas ir Bash printf funkcija?

Kā norāda nosaukums, printf ir funkcija, kas drukā formatētas teksta virknes. Tas nozīmē, ka varat uzrakstīt virknes struktūru (formātu) un vēlāk aizpildīt to ar vērtībām (argumenti).





Ja esat iepazinies ar C/C ++ programmēšanas valodām, iespējams, jau zināt, kā darbojas printf. Printf Bash apvalkā ir ļoti līdzīgs, taču tam ir dažas nelielas atšķirības.

Uzzināt vairāk: Labākās vietnes, lai sāktu darbu ar C ++ programmēšanu



Kā izmantot printf Bash Shell

Printf pamata sintakse ir šāda:

printf format [argument]

Printf izdrukās formātā virkne ieviešanas laikā noplūdes ( ) un direktīvas ( % ), izmantojot norādīto argumenti . Ievērojiet šādas komandas izvadi:





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

Printf paņēma pasaule argumentu un aizstāja %s rakstzīme norādītajā virknē ar to.

Jūs varat pamanīt, ka pēc izvades Bash jums neizveido jaunu rindu. Atšķirībā no komandas echo, printf neuzņemsies, ka pēc izvades drukāšanas vēlaties jaunu rindu. Tādējādi jums būs jāizmanto jaunā līnijas rakstzīme n katrā gadījumā.





Lai izdrukātu virkni un pēc tam pārietu uz jaunu rindu, ierakstiet printf 'Labdien, pasaule n' .

Hello, world

Ir svarīgi paturēt prātā, ka printf mēģinās atkārtoti izmantot formātu visiem jūsu argumentiem. Varat to izmantot savā labā, bet, ja neesat piesardzīgs, varat iegūt šādus rezultātus:

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

Jums arī jāapzinās, ka, ja trūkst argumentu, printf interpretēs visas direktīvas kā 0 (skaitlim) un null (virknei).

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

Tagad, kad jūs zināt, kā darbojas Bash skripti ar printf operētājsistēmā Linux, esat gatavs sākt to izmantot savās komandās.

Linux Bash printf piemēri

Printf piedāvā daudz formātu specifikatoru, kurus varat izmantot savos skriptos. Bet šodien mēs apskatīsim tikai dažus šīs funkcijas izplatītākos.

1. Formatējiet izvadi ar virkni

Lai formatētu izvadi ar teksta virknēm, izmantojiet %s direktīva.

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

2. Formatējiet izvades virkni ar decimāldaļām

Lai formatētu virkni ar veselu skaitli, varat izmantot %d direktīva par parakstītu decimāldaļu.

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

Ņemiet vērā: ja vēlaties izvadē izmantot neparakstītu decimāldaļu, jums būs jāizmanto % u direktīvu.

kā atrast vīrusu operētājsistēmā Mac

Saistīts: Ko Linux nozīmē “Bash”?

3. Izvades matemātikas funkcijas Izmantojot printf

Matemātisko funkciju formatēšana ar komandu printf ir vienkārša. Vienkārši ievietojiet izteiksmi dubultās iekavās, kā parasti Bash, un norādiet izteiksmi argumentu sarakstā.

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

4. Formatējiet heksadecimālos skaitļus

Ja nepieciešams formatēt heksadecimālu skaitli, izmantojiet % x mazajiem burtiem un % X par lielajiem burtiem.

$ printf %X 1000
3E8C

Lai izdrukātu pašreizējo datumu un laiku, varat apvienot printf ar datums komandēt un pieņemt šādas direktīvas.

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

Iepriekš minētajā izvadē varat redzēt mēneša, dienas, gada, stundas, minūtes un sekundes formāta specifikatorus.

6. Formatējiet virknes ar unikoda rakstzīmēm

Lai drukātu Unicode rakstzīmes, izmantojot printf, izmantojiet u aizbēgt par 16 bitu Unicode un U 32 bitu Unicode.

Piemēram, varat izdrukāt autortiesības simbols ar šādu komandu:

$ printf 'u00A9'
©

7. Pievienojiet izvadam atstarpes

Jūs varat formatēt virknes ar atstarpēm, pirms direktīvas norādītāja definējot minimālu drukāto rakstzīmju skaitu. Neizmantotās rakstzīmes tiks aizpildītas ar atstarpēm.

Piemēram, rakstot printf '%s:%5d n' 'Vērtība 1' 25 'Vērtība 2' 120 izdos:

Value 1: 25
Value 2: 120

The %5d formāta specifikators izvadā norāda, ka formatētajā virknē būs vismaz piecas rakstzīmes. Tā kā 25 ir tikai divi cipari, atlikušajām rakstzīmēm tiek pievienotas atstarpes.

Ja kā platumu norādīsit negatīvu skaitli, direktīva tiks pamatota pa labi, nevis pa labi.

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

Ja vēlaties mainīt platumu, varat skaitļa vietā nodot zvaigznīti, un printf izmantos nākamo argumentu sarakstā atrasto skaitli.

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

Saistīts: Viss, kas jums jāzina par Bash for Loops Linux

Linux printf komandas apgūšana

Izmantojot komandu printf savā Bash skriptu utilītas joslā, jūs esat gatavs sākt drukāt sarežģītas un dažādas virknes savā terminālī. Izstrādājot Bash skriptus, ir svarīgi pārliecināties, ka strādājat pēc iespējas produktīvākā vidē. Tas ne tikai uzlabos jūsu komandrindas prasmes, bet arī uzlabos jūsu darbplūsmu kopumā.

Kopīgot Kopīgot Čivināt E -pasts 10 labākie Linux izplatītāji izstrādātājiem

Vai esat gatavs sākt attīstību atvērtā pirmkoda operētājsistēmā? Šeit ir labākie Linux izplatījumi programmēšanai.

kā pārvietot lietotāju mapi uz citu disku
Lasīt Tālāk Saistītās tēmas
  • Linux
  • Linux Bash Shell
  • Linux komandas
Par autoru Džordans Gloors(51 raksts publicēts)

Džordans ir MUO personāla rakstnieks, kurš aizraujas ar to, lai padarītu Linux pieejamu un bez stresa ikvienam. Viņš arī raksta rokasgrāmatas par privātumu un produktivitāti.

Vairāk no Jordan Gloor

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu