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
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ā.
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
- Linux
- Linux Bash Shell
- Linux komandas
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.
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.