Басх принтф функција: 7 примера за Линук

Басх принтф функција: 7 примера за Линук

Ако сте користили Басх љуску пристојно време, вероватно знате како да одштампате низове у Линук терминалу помоћу наредбе ецхо. Наредба принтф, међутим, знатно олакшава штампање текста са одређеним обликовањем.





Данас ћемо научити како да користимо функцију принтф како бисмо побољшали наше вештине скриптирања Басх -а.





Шта је Басх принтф функција?

Као што име говори, принтф је функција која штампа форматиране низове текста. То значи да можете написати структуру низа (формат) и касније је попунити вредностима (аргументима).





Ако сте упознати са програмским језицима Ц/Ц ++, можда већ знате како принтф ради. Принтф у Басх љусци је веома сличан, али има неколико малих разлика.

Сазнајте више: Најбоље локације за почетак програмирања на Ц ++



Како се користи принтф у Басх Схелл -у

Основна синтакса за принтф је:

printf format [argument]

Принтф ће одштампати формат стринг током имплементације цурења ( ) и директивама ( % ) употребом наведеног аргументи . Обратите пажњу на излаз следеће команде:





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

Принтф је узео свет аргумент и заменио знак у наведеном низу са њим.

Можда ћете приметити да након излаза Басх не креира нову линију за вас. За разлику од наредбе ецхо, принтф неће претпоставити да желите нови ред након што се излаз одштампа. Због тога ћете морати да користите нови знак линије н у сваком случају.





Да бисте одштампали низ, а затим прешли на нови ред, откуцајте принтф 'Здраво, свет н' .

Hello, world

Важно је имати на уму да ће принтф покушати да поново користи формат за све ваше аргументе. Ово можете користити у своју корист, али ако нисте опрезни, можете завршити са оваквим резултатима:

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

Такође треба да знате да ако аргумент недостаје, принтф ће све директиве протумачити као 0 (за број) и нула (за низ).

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

Сада када знате како Басх скриптирање са принтф -ом у Линук -у функционише, спремни сте да га почнете користити у својим командама.

Линук Басх принтф Примери

Принтф садржи многе спецификаторе формата које можете користити у својим скриптама. Али данас ћемо покрити само неке уобичајене за ову функцију.

1. Форматирајте излаз са низом

Да бисте форматирали излаз са низовима текста, користите директивом.

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

2. Форматирајте излазни низ са децималама

Да бисте форматирали низ са целим бројем, можете користити директива за потписану децималу.

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

Имајте на уму да ћете, ако желите да користите неподписани децимални број у излазу, морати да користите % у уместо директиве.

зашто је диск увек на 100

Повезан: Шта значи 'Басх' у Линуку?

3. Излазне математичке функције помоћу принтф

Форматирање математичких функција помоћу наредбе принтф је једноставно. Само поставите свој израз унутар двоструких заграда као што то обично радите у Басх -у, и наведите израз на листи аргумената.

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

4. Форматирајте хексадецималне бројеве

Ако требате форматирати хексадецимални број, користите % Икс за мала слова и % ИКС за велика слова.

$ printf %X 1000
3E8C

Да бисте одштампали тренутни датум и време, можете комбиновати принтф са датум командује и доноси следеће директиве.

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

Спецификаторе формата за месец, дан, годину, сат, минут и секунду можете видети у горе наведеном испису.

6. Форматирајте низове помоћу Уницоде знакова

Да бисте одштампали Уницоде знакове помоћу принтф, користите у есцапе за 16-битни Уницоде и У за 32-битни Уницоде.

На пример, можете да одштампате Ауторско право симбол са следећом командом:

$ printf 'u00A9'
©

7. Додајте размак на излаз

Можете да форматирате своје низове са размаком дефинишући, пре спецификатора директиве, минимални број одштампаних знакова. Неискоришћени знакови биће попуњени размацима.

На пример, куцање принтф '%с:%5д н' 'Вредност 1' 25 'Вредност 2' 120 ће исписати:

Value 1: 25
Value 2: 120

Тхе %5д Спецификатор формата у излазу означава да ће форматирани низ садржати најмање пет знакова. Пошто 25 има само две цифре, преостали знакови се додају размацима.

Ако унесете негативни број као ширину, директива ће бити поравната лево уместо десно.

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

Ако желите да промените ширину, можете да проследите звездицу уместо броја, а принтф ће користити следећи број који пронађе на листи аргумената.

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

Повезан: Све што требате знати о Басх Фор Лоопс у Линуку

Учење Линук принтф команде

Са командом принтф у вашем појасу услужног програма за скриптирање Басх -а, спремни сте за почетак штампања сложених и променљивих низова на вашем терминалу. Док развијате своје Басх скрипте, важно је осигурати да радите у што продуктивнијем окружењу. Ово не само да ће побољшати ваше вештине командне линије, већ ће побољшати и ваш радни ток уопште.

Објави Објави Твеет Емаил 10 најбољих Линук дистрибуција за програмере

Спремни за почетак развоја оперативног система отвореног кода? Ево најбољих Линук дистрибуција за програмирање.

како да виндовс 10 изгледа као виндовс виста
Прочитајте следеће Повезане теме
  • Линук
  • Линук Басх Схелл
  • Линук наредбе
О аутору Јордан Глоор(Објављен 51 чланак)

Јордан је писац особља у МУО-у који страствено жели учинити Линук приступачним и без стреса за све. Он такође пише водиче о приватности и продуктивности.

Више од Јордана Глоора

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили