Jei „Bash“ apvalkalą naudojote pakankamai ilgai, tikriausiai žinote, kaip spausdinti eilutes „Linux“ terminale naudojant komandą echo. Tačiau komanda „printf“ leidžia žymiai lengviau spausdinti tekstą su konkrečiu formatavimu.
Šiandien mes sužinosime, kaip naudotis „printf“ funkcija, kad galėtume patobulinti „Bash“ scenarijaus įgūdžius.
Kas yra „Bash printf“ funkcija?
Kaip rodo pavadinimas, printf yra funkcija, kuri spausdina suformatuotas teksto eilutes. Tai reiškia, kad galite parašyti eilutės struktūrą (formatą) ir vėliau ją užpildyti reikšmėmis (argumentais).
Jei esate susipažinę su C / C ++ programavimo kalbomis, galbūt jau žinote, kaip veikia „printf“. „Bash“ apvalkalo „Printf“ yra labai panašus, tačiau jis turi keletą nedidelių skirtumų.
Sužinokite daugiau: Geriausios svetainės, skirtos pradėti programuoti C ++
Kaip naudoti „printf“ „Bash Shell“
Pagrindinė „printf“ sintaksė yra:
printf formatas [argumentas]
„Printf“ atspausdins formatas eilutė įgyvendinant pabėga (\) ir direktyvas (%) naudojant nurodytą argumentai. Atkreipkite dėmesį į šios komandos išvestį:
$ printf „Sveiki,% s“ pasauli
Labas pasauli
„Printf“ paėmė pasaulyje argumentą ir pakeitė % s simbolis nurodytoje eilutėje su juo.
Galite pastebėti, kad po išvesties Bashas jums nesukuria naujos eilutės. Skirtingai nuo komandos echo, printf nemanys, kad po išvesties atspausdinsite naują eilutę. Taigi turėsite naudoti naują eilutės simbolį \ n kiekvienu atveju.
Norėdami spausdinti eilutę ir pereiti prie naujos eilutės, įveskite printf "Sveiki, pasauli \ n".
Labas pasauli
Svarbu nepamiršti, kad „printf“ bandys pakartotinai naudoti visų jūsų argumentų formatą. Tai galite panaudoti savo naudai, bet jei nesate atsargūs, galite pasiekti tokių rezultatų:
$ printf "Mano vardas% s" Jordan Gloor
Mano vardas Jordanija, aš esu Glooras
Taip pat turėtumėte žinoti, kad jei trūksta argumento, „printf“ bet kokias direktyvas aiškins kaip 0 (skaičiui) ir niekinis (stygai).
$ printf "Sveiki,% s".
Sveiki, .
Dabar, kai žinote, kaip veikia „Bash“ scenarijai naudojant „printf“ sistemoje „Linux“, esate pasirengę pradėti jį naudoti savo komandose.
„Linux Bash printf“ pavyzdžiai
„Printf“ turi daug formatų specifikacijų, kurias galite naudoti savo scenarijuose. Tačiau šiandien aptarsime tik keletą įprastų šios funkcijos.
1. Formatuoti išvestį eilute
Norėdami formatuoti išvestį teksto eilutėmis, naudokite % s direktyvą.
$ printf "% s yra vienas didžiausių internetinių% s." MUO „technologijų leidiniai“
MUO yra vienas didžiausių internetinių technologijų leidinių.
2. Formatuoti išvesties eilutę su kableliais
Norėdami formatuoti eilutę sveikuoju skaičiumi, galite naudoti % d dešimtosios dalies.
$ printf "MUO buvo įkurta% d." 2007 m
MUO buvo įkurta 2007 m.
Atkreipkite dėmesį, kad jei norite išvestyje naudoti nepasirašytą dešimtainį skaičių, turėsite naudoti % u vietoj to.
Susijęs: Ką reiškia „Bash“ sistemoje „Linux“?
3. Išvesties matematikos funkcijos naudojant printf
Matematikos funkcijas lengva suformatuoti naudojant komandą printf. Tiesiog įdėkite savo išraišką į dvigubus skliaustus, kaip paprastai darote „Bash“, ir nurodykite išraišką argumentų sąraše.
$ printf "1 + 1 yra% d" $ ((1 + 1))
1 + 1 yra 2
4. Formatuoti šešioliktainius skaičius
Jei reikia formatuoti šešioliktainį skaičių, naudokite % x mažosioms ir % X didžiosioms raidėms.
$ printf% X 1000
3E8C
5. Spausdinti datą ir laiką
Norėdami išspausdinti dabartinę datą ir laiką, galite derinti „printf“ su data vadovauti ir priimti šias direktyvas.
$ printf "% (% m-% d-% Y% H:% M:% S) T" $ (data +% s)
03-26-2021 15:27:57
Pirmiau minėtame išvestyje galite pamatyti mėnesio, dienos, metų, valandos, minutės ir sekundės formato specifikatorius.
6. Formatuoti eilutes su „Unicode“ simboliais
Norėdami spausdinti „Unicode“ simbolius naudodami „printf“, naudokite \ u pabėgti dėl 16 bitų „Unicode“ ir \ U 32 bitų „Unicode“.
Pavyzdžiui, galite atsispausdinti autorių teisės simbolis su tokia komanda:
$ printf "\ u00A9"
©
7. Pridėkite tarpą prie išvesties
Galite formatuoti eilutes tarpais, prieš nurodydami direktyvą, nurodydami minimalų spausdinamų simbolių skaičių. Nenaudojami simboliai bus užpildyti tarpais.
Pavyzdžiui, rašyti printf "% s:% 5d \ n" "1 reikšmė" 25 "2 reikšmė" 120 išves:
1 vertė: 25
2 vertė: 120
% 5d formato specifikatorius išvestyje reiškia, kad suformatuotoje eilutėje bus mažiausiai penki simboliai. Kadangi 25 yra tik du skaitmenys, prie likusių simbolių pridedami tarpai.
Jei pločio reikšmė bus neigiama, direktyva bus pagrįsta kairiuoju, o ne dešiniuoju.
$ printf "% -10s:% d" "Apskritimai" 25 "Dėžutės" 120
Apskritimai: 25 dėžės: 120
Jei norite padaryti pločio kintamąjį, vietoj skaičiaus galite praleisti žvaigždutę, o „printf“ naudos kitą skaičių, kurį ras argumentų sąraše.
$ printf "% * s:% d" -10 "apskritimai" 25-10 "dėžutės" 120
Apskritimai: 25 dėžės: 120
Susijęs: Viskas, ką reikia žinoti apie „Bash for Loops“ sistemoje „Linux“
Mokomės „Linux printf“ komandos
Naudodami komandą „printf“, esančią „Bash“ scenarijų naudingumo juostoje, būsite pasirengę pradėti spausdinti sudėtingas ir įvairias eilutes savo terminale. Kuriant „Bash“ scenarijus, svarbu įsitikinti, kad dirbate kuo produktyvesnėje aplinkoje. Tai ne tik pagerins jūsų komandinės eilutės įgūdžius, bet ir apskritai pagerins jūsų darbo eigą.
Pasirengę pradėti kurti atvirojo kodo operacinę sistemą? Čia pateikiami geriausi „Linux“ distros programavimui.
Skaitykite toliau
- „Linux“
- „Linux Bash Shell“
- „Linux“ komandos
Džordanas yra dėstytojas ir žurnalistas, kuris aistringai siekia, kad „Linux“ būtų prieinama ir be streso visiems. Jis turi anglų kalbos bakalaurą ir daiktą karštai arbatai. Šiltuoju metų laiku jis mėgaujasi dviračiais po Ozarko kalvas, kur gyvena.
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!
Dar vienas žingsnis…!
Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.