Ja esat lietojis Bash apvalku pienācīgu laiku, jūs, iespējams, zināt, kā drukāt virknes Linux terminālā, izmantojot komandu echo. Tomēr komanda printf daudz atvieglo teksta drukāšanu ar īpašu formatēšanu.

Šodien mēs uzzināsim, kā izmantot printf funkciju, lai uzlabotu savas Bash skriptu iemaņas.

Kāda ir funkcija Bash printf?

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

Ja esat iepazinies ar C / C ++ programmēšanas valodām, iespējams, jau zināt, kā darbojas printf. Bash apvalka Printf 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ā lietot printf Bash Shell

Printf pamata sintakse ir:

printf formāts [arguments]

Printf izdrukās formātā virkne, īstenojot aizbēg (\) un direktīvām (%), izmantojot norādīto argumenti. Ievērojiet šādas komandas izvadi:

$ printf "Sveiki,% s" pasaule
Sveika pasaule
instagram viewer

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

Jūs varat pamanīt, ka pēc izejas Bash jums nerada jaunu rindu. Atšķirībā no komandas echo, printf neuzskatīs, ka vēlaties jaunu rindu pēc izejas izdrukāšanas. Tādējādi jums būs jāizmanto jaunais līnijas raksturs \ n katrā gadījumā.

Lai drukātu virkni un pēc tam pārietu uz jaunu rindu, ierakstiet printf "Sveika, pasaule \ n".

Sveika pasaule

Ir svarīgi paturēt prātā, ka printf mēģinās atkārtoti izmantot visu jūsu argumentu formātu. Jūs varat to izmantot savā labā, taču, ja neesat piesardzīgs, varat sasniegt šādus rezultātus:

$ printf "Mans vārds ir% s" Džordans Gloors
Mani sauc Jordānija. Mani sauc Gloor

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

$ printf "Sveiki,% s."
Sveiki, .

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ā daudzus formātu specifikatorus, kurus varat izmantot skriptos. Bet šodien mēs aplūkosim tikai dažus parastos, kas attiecas uz šo funkciju.

1. Formatēt izvadi ar virkni

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

$ printf "% s ir viens no lielākajiem tiešsaistes% s." MUO "tehnoloģiju publikācijas"
MUO ir viena no lielākajām tiešsaistes tehnoloģiju publikācijām.

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

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

$ printf "MUO tika dibināts% d." 2007. gads
MUO tika dibināta 2007. gadā.

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

Saistīts: Ko nozīmē "Bash" operētājsistēmā Linux?

3. Matemātikas izejas funkcijas, izmantojot printf

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

$ printf "1 + 1 ir% d" $ ((1 + 1))
1 + 1 ir 2

4. Formatēt heksadecimālos skaitļus

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

$ printf% X 1000
3E8C

5. Drukāt datumu un laiku

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" $ (datums +% 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ātu specifikatorus.

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

Lai drukātu Unicode rakstzīmes ar printf, izmantojiet \ u aizbēgt pēc 16 bitu Unicode un \ U 32 bitu Unicode.

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

$ printf "\ u00A9"
©

7. Pievienojiet izvadei atstarpi

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

Piemēram, rakstīšana printf "% s:% 5d \ n" "Vērtība 1" 25 "Vērtība 2" 120 izdos:

Vērtība 1: 25
2. vērtība: 120

The % 5d formāta norādītājs 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 ievadīsit negatīvu skaitli, direktīva tiks pamatota ar kreiso, nevis ar labo.

$ printf "% -10s:% d" "Circles" 25 "Boxes" 120
Apļi: 25 kastes: 120

Ja vēlaties izveidot platuma mainīgo, skaitļa vietā varat nodot zvaigznīti, un printf izmantos nākamo skaitli, ko tas atradīs argumentu sarakstā.

$ printf "% * s:% d" -10 "Apļi" 25-10 "Kastes" 120
Apļi: 25 kastes: 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 varat sākt drukāt sarežģītas un dažādas virknes savā terminālā. Izstrādājot savus Bash skriptus, ir svarīgi pārliecināties, ka jūs 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ā.

E-pasts
10 labākie Linux distrofi izstrādātājiem

Vai esat gatavs sākt atvērtā koda operētājsistēmas attīstību? Šeit ir labākie Linux distros programmēšanai.

Lasiet Tālāk

Saistītās tēmas
  • Linux
  • Linux Bash Shell
  • Linux komandas
Par autoru
Džordans Gloors (Publicēti 32 raksti)

Džordans ir pasniedzējs un žurnālists, kurš aizrauj Linux padarīšanu pieejamu un bez stresa visiem. Viņam ir BA angļu valodā un lieta par karstu tēju. Siltajos gadalaikos viņam patīk braukt ar velosipēdiem pa Ozarkas kalniem, kur viņš dzīvo.

Vairāk no Džordana Gloora

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.