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
5. Izdrukājiet 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' $(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ājiemVai 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 diskuLasīt Tālāk Saistītās tēmas
- Linux
- Linux Bash Shell
- Linux komandas
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 GloorAbonē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