Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Командная строка LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 75

Автор Шоттс Уильям

[[email protected] ~]$ pr -l 15 -w 65 distros.txt

2012-12-11 18:27Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β distros.txtΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Page 1

SUSEΒ Β Β Β Β Β Β Β Β Β Β Β 10.2Β Β Β Β 12/07/2006

FedoraΒ Β Β Β Β Β Β Β Β Β 10Β Β Β Β Β Β 11/25/2008

SUSEΒ Β Β Β Β Β Β Β Β Β Β Β 11.0Β Β Β Β 06/19/2008

UbuntuΒ Β Β Β Β Β Β Β Β Β 8.04Β Β Β Β 04/24/2008

FedoraΒ Β Β Β Β Β Β Β Β Β 8Β Β Β Β Β Β Β 11/08/2007

2012-12-11 18:27Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β distros.txtΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Page 2

SUSEΒ Β Β Β Β Β Β Β Β Β Β Β 10.3Β Β Β Β 10/04/2007

UbuntuΒ Β Β Β Β Β Β Β Β Β 6.10Β Β Β Β 10/26/2006

FedoraΒ Β Β Β Β Β Β Β Β Β 7Β Β Β Β Β Β Β 05/31/2007

UbuntuΒ Β Β Β Β Β Β Β Β Β 7.10Β Β Β Β 10/18/2007

UbuntuΒ Β Β Β Β Β Β Β Β Β 7.04Β Β Β Β 04/19/2007

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ использовались ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ -l (Π΄Π»ΠΈΠ½Π° (length) страницы) ΠΈ -w (ΡˆΠΈΡ€ΠΈΠ½Π° (width) страницы), ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ «страницы» β€” 65 символов Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ 15 строк Π² Π΄Π»ΠΈΠ½Ρƒ. pr Ρ€Π°Π·Π±ΠΈΠ»Π° содСрТимоС Ρ„Π°ΠΉΠ»Π° distros.txt Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ страницы, Π΄ΠΎΠ±Π°Π²ΠΈΠ² нСсколько пустых строк свСрху ΠΈ снизу, ΠΈ создала Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, содСрТащий врСмя послСднСго измСнСния Ρ„Π°ΠΉΠ»Π°, имя Ρ„Π°ΠΉΠ»Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ€ страницы. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° pr ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для управлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ страницы, Π½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½ΠΈΡ… ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² Π³Π»Π°Π²Π΅ 22.

printf β€” Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² этой Π³Π»Π°Π²Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π° printf Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ (ΠΎΠ½Π° Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ со стандартного Π²Π²ΠΎΠ΄Π°) ΠΈ Ρ€Π΅Π΄ΠΊΠΎ примСняСтся нСпосрСдствСнно Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС (Ρ‡Π°Ρ‰Π΅ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сцСнариях). ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½ΠΎ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ ΡˆΠΈΡ€ΠΎΠΊΠΎ.

Команда printf (Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ происходит ΠΎΡ‚ print formatted (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄)) ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° создана ΠΊΠ°ΠΊ функция для языка программирования C ΠΈ впослСдствии Π±Ρ‹Π»Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ язык ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. ЀактичСски Π² bash ΠΊΠΎΠΌΠ°Π½Π΄Π° printf Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ встроСнная ΠΊΠΎΠΌΠ°Π½Π΄Π°. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

printf "Ρ„ΠΎΡ€ΠΌΠ°Ρ‚" Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Команда ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ строку с описаниСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, которая Π·Π°Ρ‚Π΅ΠΌ примСняСтся ΠΊ списку Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠžΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ пСрСдаСтся Π² стандартный Π²Ρ‹Π²ΠΎΠ΄. НиТС приводится простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

[[email protected] ~]$ printf "I formatted the string: %s\n" foo

I formatted the string: foo

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ тСкст (Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ I formatted the string:), экранированныС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ \n, символ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строки) ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с символа %, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ спСцификаторами ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ (conversion specifications). Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ спСцификатор прСобразования %s ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для форматирования строки foo ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΅Π΅ Π² Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

[[email protected] ~]$ printf "I formatted '%s' as a string.\n" foo

I formatted 'foo' as a string.

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ спСцификатор прСобразования %s замСщаСтся строкой foo. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ s ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для форматирования строковых Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ спСцификаторы для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚Π°Π±Π». 21.4 пСрСчислСны Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°Π±Π»ΠΈΡ†Π° 21.4. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ printf

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

ОписаниС

d

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ число ΠΊΠ°ΠΊ дСсятичноС Ρ†Π΅Π»ΠΎΠ΅ со Π·Π½Π°ΠΊΠΎΠΌ

f

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ вСщСствСнноС число

o

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ число

s

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ строку

x

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ число, с использованиСм Π±ΡƒΠΊΠ² aβ€”f Π½ΠΈΠΆΠ½Π΅Π³ΠΎ рСгистра, Π³Π΄Π΅ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ

X

Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ x, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΡƒΠΊΠ²Ρ‹ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ рСгистра

%

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ символ % (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сам спСцификатор ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄: %%)

ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ дСйствиС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ спСцификатора прСобразования Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ строки 380:

[[email protected] ~]$ printf "%d, %f, %o, %s, %x, %X\n" 380 380 380 380 380 380

380, 380.000000, 574, 380, 17c, 17C

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² строкС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΡˆΠ΅ΡΡ‚ΡŒ спСцификаторов Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ printf ΡˆΠ΅ΡΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π¨Π΅ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСйствия ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ спСцификатора.

Для настройки Π²Ρ‹Π²ΠΎΠ΄Π° спСцификатору Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠŸΠΎΠ»Π½Ρ‹ΠΉ синтаксис спСцификатора прСобразования выглядит Ρ‚Π°ΠΊ:

%[Ρ„Π»Π°Π³ΠΈ][ΡˆΠΈΡ€ΠΈΠ½Π°][.Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ]спСцификатор_прСобразования

Для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ссли ΠΈΡ… нСсколько, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ порядкС. ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ описаны Π² Ρ‚Π°Π±Π». 21.5.

Π’Π°Π±Π»ΠΈΡ†Π° 21.5. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ спСцификаторов ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ printf

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

ОписаниС

Ρ„Π»Π°Π³ΠΈ

БущСствуСт ΠΏΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ²:

# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° β€” дСйствуСт ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Для прСобразования o (Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ число) Π² Π²Ρ‹Π²ΠΎΠ΄ добавляСтся прСфикс 0 (ноль). Для ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ x ΠΈ X (ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ число) Π² Π²Ρ‹Π²ΠΎΠ΄ добавляСтся прСфикс 0x ΠΈΠ»ΠΈ 0X соотвСтствСнно.

0 (ноль) β€” добавляСт Π½ΡƒΠ»ΠΈ Π² Π½Π°Ρ‡Π°Π»ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌΠΈ нулями, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: 000380.

- (дСфис) β€” Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ printf выполняСт Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ.

Β Β (ΠΏΡ€ΠΎΠ±Π΅Π») β€” добавляСт Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами.

+ (Π·Π½Π°ΠΊ «плюс») β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°ΠΊ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ printf Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами

ΡˆΠΈΡ€ΠΈΠ½Π°

Число, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ поля Π²Ρ‹Π²ΠΎΠ΄Π° Π² символах

.Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ число Π·Π½Π°ΠΊΠΎΠ² послС дСсятичной запятой ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ вСщСствСнных чисСл. Для строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ опрСдСляСт число Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов

Π’ Ρ‚Π°Π±Π». 21.6 пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Π° 21.6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния спСцификаторов ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ printf

АргумСнт

Π€ΠΎΡ€ΠΌΠ°Ρ‚

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

380

"%d"

380

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ†Π΅Π»Ρ‹Ρ… чисСл

380

"%#x"

0x17c

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ цСлочислСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС с использованиСм Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ форматирования

380

"%05d"

00380

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ цСлочислСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌΠΈ нулями ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ поля, Ρ€Π°Π²Π½Ρ‹ΠΌ пяти символам

380

"%05.5f"

380.00000

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вСщСствСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌΠΈ нулями ΠΈ 5 Π·Π½Π°ΠΊΠ°ΠΌΠΈ послС запятой. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ указанная минимальная ΡˆΠΈΡ€ΠΈΠ½Π° поля (5) мСньшС фактичСской ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ числа, Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Π½ΡƒΠ»ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹

380

"%010.5f"

0380.00000

Π¨ΠΈΡ€ΠΈΠ½Π° поля Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° Π΄ΠΎ 10, вслСдствиС Ρ‡Π΅Π³ΠΎ появился Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ Π½ΡƒΠ»ΡŒ

380

"%+d"

+380

Π€Π»Π°Π³ + Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π½Π°ΠΊ Ρƒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл

380

"%-d"

380

Π€Π»Π°Π³ - обСспСчиваСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡƒ ΠΊΡ€Π°ΡŽ

abcdefghijk

"%5s"

abcdefghijk

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² ΠΏΠΎΠ»Π΅ с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ минимальной ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ

abcdefghijk

"%.5s"

фисву

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° точности ΠΊ строкС ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΊ Π΅Π΅ ΡƒΡΠ΅Ρ‡Π΅Π½ΠΈΡŽ

И Π΅Ρ‰Π΅ Ρ€Π°Π·: ΠΊΠΎΠΌΠ°Π½Π΄Π° printf Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сцСнариях, Π³Π΄Π΅ примСняСтся для форматирования Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ форматирования. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ вывСсти нСсколько ΠΏΠΎΠ»Π΅ΠΉ, Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² ΠΈΡ… символами табуляции:

[[email protected] ~]$ printf "%s\t%s\t%s\n" str1 str2 str3

str1Β Β Β Β str2Β Β Β Β str3

Π”ΠΎΠ±Π°Π²ΠΈΠ² \t (ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ символу табуляции), ΠΌΡ‹ достигли ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ эффСкта. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ вывСсти нСсколько чисСл Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅: