Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ OpenEdge Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ KZ-1048


KZ-1048 – Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° для ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с символами казахского языка, основанной Π½Π° стандартС Π‘Π’ РК 1048-2002, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… OpenEdge Progress.

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ KOI8-R.
Β 
ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Π°Π·ΠΎΠΉ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ казахского языка, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны казахскиС ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹. Π­Ρ‚ΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ здСсь http://www.sci.kz/%7Esairan/kazwin95.html. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΠΈ установитС ΠΈΡ…. ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Π·Π°Ρ…ΡΠΊΡƒΡŽ консоль Π² Windows. Для этого Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° Π·Π½Π°Ρ‡ΠΊΠ΅ языка ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Settings

Π”Π°Π»Π΅Π΅ всё ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ языка Π² Windows.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ. Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ PuTTY Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, с ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Π΅ΠΌΡƒ придСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ казахскиС символы. Для этого Π² настройках Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π²Ρ‹ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС:

Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Win1251 (Cyrillic) обусловлСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ стандарт Π‘Π’ РК 1048-2002 основан ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ 1251.

Β 
1.Β Β Β  ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ„Π°ΠΉΠ»Π° convmap.cp

НСобходимыС Ρ„Π°ΠΉΠ»Ρ‹ для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ KZ-1048 Π»Π΅ΠΆΠ°Ρ‚ здСсь(Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ):

convmap.dat – Ρ„Π°ΠΉΠ» со списком ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π² convmap.cp
KZ-1048.dat – Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ KZ-1048 ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ сопоставлСния с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ UTF-8
KZ-1048.df – кодовая страница KZ-1048
utf-8.dat – Ρ„Π°ΠΉΠ» с описаниСм ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8
undefine.dat – Ρ„Π°ΠΉΠ» с описаниС undefined ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ
ICU-ru.df – Ρ‚Π°Π±Π»ΠΈΡ†Π° сортировки для ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹
readme.txt – описаниС процСсса создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° convmap.cp

Β 

Π’ дальнСйшСм, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с этой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ –covnmap со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ казахскому convmap.cp. Для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ этот Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² установочный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Progress.
Β 
1.Β Β Β  ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ

Β 
1. 1Β Β Β  ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ„Π°ΠΉΠ»Π° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Β 
Π’ нашСм случаС (смСна ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… (тСкстовый Π΄Π°ΠΌΠΏ). Для быстрой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… сущСствуСт ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° bulkload, которая для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» описания с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .fd. Для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ этого Ρ„Π°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

Β Β Β Β Β Β  1. Π·Π°ΠΉΡ‚ΠΈ Π² Tools -> Data Dictionary -> Admin -> Create Bulk Loader Description File…

Β Β Β Β Β Β  2. ΠΠ°ΠΆΠ°Ρ‚ΡŒ F5

3. ВвСсти Β«*Β», Enter – Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ всС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

4. ΠΠ°ΠΆΠ°Ρ‚ΡŒ F1, откроСтся ΠΎΠΊΠ½ΠΎ Β«Make Bulk Load Description File for Some TablesΒ»

5. Ни Ρ‡Π΅Π³ΠΎ Π½Π΅ мСняя, Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π°ΠΆΠ°Ρ‚ΡŒ F1, начнСтся Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°
Β 
По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ формирования Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½ΠΎ сообщСниС Β«Making of bulk load description file completed.Β»

Β 
Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ» <dbname>.fd, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π² дальнСйшСм использован для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π’ Π±Π°Π·Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ поля Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ с Ρ‚ΠΈΠΏΠΎΠΌ RECID, поля с этим Ρ‚ΠΈΠΏΠΎΠΌ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ bulk loader Ρ„Π°ΠΉΠ»Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, послС создания Ρ„Π°ΠΉΠ»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² Ρ„Π°ΠΉΠ». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Π² дальнСйшСм, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Β 
1.2Β Β Β  Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния сиквСнций
Β 

Для сохранСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ автоматичСских счСтчиков (сиквСнций) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ эти значСния. Для этого Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Tools -> Data Dictionary -> Admin -> Dump Data and Definitions –> Sequences Current Values… ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F1.

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½ΠΎ сообщСниС Β«Dump of sequence values completed.Β».

Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ» _seqvals.d.

Β 
1.3Β Β Β  Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° содСрТимого Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ _user

Β 
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° содСрТимого Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ _user Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для сохранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ…. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² Tools -> Data Dictionary -> Admin -> Dump Data and Definitions –> User Table Contents.

.. ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ F1.

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½ΠΎ сообщСниС Β«Dump of users completed.Β».

Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан Ρ„Π°ΠΉΠ» _user.d

1.4Β Β Β  ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° скриптов для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ

Β 
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ mkdump. Для этого ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…Β  ΠΈ создайтС Π² Π½Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /dump/. ПослС Ρ‡Π΅Π³ΠΎ Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² созданный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ запуститС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

cd /data/10/kz

mkdir dump

cd dump/

mkdump /data/10/kz/<dbname> –U <username> –P ********


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ созданиС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /dump/ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²:
/ldprocs/ — ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, содСрТащий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

/dmpprocs/ — ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, содСрТащий ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

fileload. p – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /ldprocs/

filedump.p – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /dmpprocs/


Β 
1.5Β Β Β  Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

Для осущСствлСния Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ всСго сначала Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Для этого сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΠΈ after-imaging, Ссли ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹:

proutil /data/10/kz/<dbname> -C disableSiteReplication source

proutil /data/10/kz/<dbname> -C aimage end

proserve /data/10/kz/<dbname>


ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ. ЗапускаСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° — filedump.p ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ. Но ΠΏΡ€ΠΈ нСобходимости ускорСния процСсса, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ содСрТимоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° нСсколько Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… процСссов.

ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

mpro /data/10/kz/<dbname> -p filedump -U <username> –P ***********

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ созданиС тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .d, содСрТащих Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹. Π€Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΠΌ описаниС самих Ρ‚Π°Π±Π»ΠΈΡ†. Для этого Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Tools -> Data Dictionary -> Admin -> Data Definitions (.df file)…, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«<Select Some…>Β», Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Β«*Β» ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F1. ВсС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅. ΠžΠΏΡΡ‚ΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F1. Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сохранСн Ρ„Π°ΠΉΠ» с описаниСм Ρ‚Π°Π±Π»ΠΈΡ†, индСксов, Π°Π²Ρ‚ΠΎΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΠ², сиквСнций, Π² ΠΎΠ±Ρ‰Π΅ΠΌ – ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π€Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ <dbname>.df.

По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

proshut /data/10/kz/<dbname>

Β 
2. Β Β Β  DBANALYS

Β 
Для Π°Π½Π°Π»ΠΈΠ·Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ ΠΈ послС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ dbanalys Π±Π°Π·Ρ‹. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для остановлСнной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:
Β 

proutil /data/10/kz/<dbname> -C dbanalys > first-dbanalys.txt
Β 
Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, Ρ„Π°ΠΉΠ» first-dbanalys.txt Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΎΠ½ понадобится Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ для сравнСния.

Β 
3.Β Β Β  Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ. И Ρ‡Ρ‚ΠΎΠ±Ρ‹ старая Π±Π°Π·Π° Π½Π°ΠΌ Π½Π΅ мСшалась – ΠΌΡ‹ Π΅Π΅ ΡƒΠ΄Π°Π»ΠΈΠΌ:
Β 

prodel /data/10/kz/<dbname>
Β 

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠŸΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ‹, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ Вас имССтся рСзСрвная копия Π½Π° случай нСобходимости восстановлСния.

Β 
4.Β Β Β  Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹-ΠΏΡƒΡΡ‚Ρ‹ΡˆΠΊΠΈ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ KZ-1048
4. 1Β Β Β  ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ empty Π±Π°Π·Ρ‹

Β 
Для создания пустой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Β«Π±Π°Π·Ρƒ-ΠΏΡƒΡΡ‚Ρ‹ΡˆΠΊΡƒΒ», которая находится Π² установочном ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Progress /usr/dlc, ΠΈ называСтся empty4. Π¦ΠΈΡ„Ρ€Π° Β«4Β» ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² нашСм случаС 4096 Kb.

Β 

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π² структурный Ρ„Π°ΠΉΠ» Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ‚ΠΎΠΌΡƒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ области Π΄Π°Π½Π½Ρ‹Ρ…, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ β€œSchema Area”. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ссли ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… понадобится Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство для размСщСния Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΆΠ΅ этого пространства Π΅ΠΉ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚, Ρ‚ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ – Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°Ρ…ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ всё Π·Π°Π½ΠΎΠ²ΠΎ.
Β 

И Ρ‚Π°ΠΊ, запуститС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ копирования:

procopy /usr/dlc/empty4 /data/10/kz/<dbname>

Β 
4.2Β Β Β  Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ KZ-1048
Β 

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ UTF-8. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚ΠΎΠΌΡƒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ сущСствуСт прямой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ· KOI8-R Π² KZ-1048.Β  Бвязанно это с отсутствиСм символов ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KZ-1048 Ρƒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ KOI8-R. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ конвСртация Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ схСмС KOI8-R -> UTF-8 -> KZ-1048.

Π€Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ UTF-8 Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π² установочном ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ProgressΠΈ называСтся ΠΎΠ½ ICU-ru.df. Для Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² Tools -> Data Dictionary -> Admin -> Load Data and Definitions -> Data Definitions (.df file). НайдитС Ρ„Π°ΠΉΠ» ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«<Files…>Β». ПослС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F1. По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСма попросит Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π½Π° Π΄Π°Π½Π½ΠΎΠΉ стадии этот процСсс Π·Π°ΠΉΠΌΠ΅Ρ‚ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… пустая:

proutil /data/10/kz/<dbname> -C idxbuild ALL -pf mu_utf.pf
Β 
ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«-pf mu_utf. pfΒ» — Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ содСрТится информация ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π±Π°Π·ΠΎΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‚.Π΅ UTF-8. Π’ стандартном ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² /ust/dlc/startup/pf содСрТится информация для KOI8-R, ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° idxbuild Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π±Π°Π·Π° ΡƒΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ UTF-8.
Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ, послС пСрСиндСксации, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ шаги, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ KZ-1048. Но ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ придСтся с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8.
Β 
pro bank -pf mu_utf.pf
Β 
ΠŸΡ€ΠΈ этом Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… выдаст сообщСниС ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ UTF-8 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ TTY. На этой стадии для нас это сообщСниС значСния Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚.
Β 

Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Tools -> Data Dictionary -> Admin -> Load Data and Definitions -> Data Definitions (.df file). НайдитС Ρ„Π°ΠΉΠ» ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ KZ-1048.df с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«<Files. ПослС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ F1. БистСма ΠΎΠΏΡΡ‚ΡŒ попросит ΠΏΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
Β 

proutil /data/10/kz/<dbname> -C idxbuild ALL -pf my_kz.pf
Β 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ» ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Β«my_kz.pfΒ» Π² Π½Ρ‘ΠΌ содСрТится информация ΠΏΠΎ использованию ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ KZ-1048.
Β 
ПослС пСрСиндСксации ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с символами казахского языка KZ-1048 ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° стандартС Π‘Π’ РК 1048-2002.
Β 
Π‘ Ρ†Π΅Π»ΡŒΡŽ бСзопасности ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ нСобходимости ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ выполнСния ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… дСйствий, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
Β 

probkup /data/10/kz/<dbname> /data/10/kz/backup/kz-first.bak
Β Β 
5.Β Β Β  ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅

Β 
5.1Β Β Β  ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ <dbname>. df.

Β 
Π€Π°ΠΉΠ» описания схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… bank.df находится Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KOI8-R, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ KZ-1048. Для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ систСмной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ Linux, которая называСтся iconv:
Β 

iconv -c -f KOI8-R -t STRK1048-2002 <dbname>.df > kz<dbname>.df
Β 

Π—Π΄Π΅ΡΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
Β 
-с, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ошибок Π²ΠΎ врСмя ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ, Π½Π°ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π±Π°Π·Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ символы, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π΅Ρ‰Π΅ ΠΎΡ‚ Π»Π°Ρ‚Ρ‹ΡˆΡΠΊΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ (Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠŸΡ€Π°Π³ΠΌΡ‹).
Β 
-f, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ происходит конвСртация

-t, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ происходит конвСртация, Π² нашСм случаС, стандарт Π‘Π’ РК 1048-2002 встроСн Π² Linux.
Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» kz<dbname>.df, содСрТащий описаниС схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KZ-1048.
Β 
ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ. НСобходимо ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KOI8-R Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„Π°ΠΉΠ»Π°, просто ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:

.

PSC

cpstream=KOI8-R

.

0001886339


Π›ΠΈΠ±ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ KOI8-R Π½Π° KZ-1048

Β 

Π”Π°Π»Π΅Π΅, Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сконвСртируйтС Π²Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Ρ„Π°ΠΉΠ»Ρ‹: _user.d, _seqvals.d, <dbname>.fd.

Β 
5.2Β Β Β  ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ содСрТимого Ρ‚Π°Π±Π»ΠΈΡ†

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /data/10/kz/dump/

cd /data/10/kz/dump/

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ kzdump
mkdir kzdump
Β 

Π‘Π΅Ρ€Π΅ΠΌΒ  скрипт conv.sh. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ, ΡƒΠΊΠ°Π·Π°Π² Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ: ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KOI8-R ΠΈ ΠΊΡƒΠ΄Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KZ-1048. УстановитС ΠΏΡ€Π°Π²Π° доступа Π½Π° скрипт 700:

chmod 700 conv. sh
Β 
ЗапуститС скрипт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /data/10/kz/dump/ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
(/data/10/kz/dump) ./conv.sh
Β 
Код скрипта conv.sh:
#!/bin/bash
Β 

pth=»/data/10/kzt/dump» # Path to the dir with the files

pth3=»/data/10/kz/dump/kzdump» # Path to the dir with the files

inp=»KOI8-R» # Input charset

otp=»STRK1048-2002″ # Output charset

suff=»kz» # Suffics

Β 

for fl in `ls -f $pth`

do

Β Β  eval iconv -c -f $inp -t $otp $fl > «$pth3/$fl» 2>&1 /dev/null # converting files

done

Β 
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта Π±ΡƒΠ΄Π΅Ρ‚ появлСниС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /kzdump/ Ρ„Π°ΠΉΠ»ΠΎΠ² с содСрТимым Ρ‚Π°Π±Π»ΠΈΡ† Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KZ-1048.

Β 
6.Β Β Β  Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° описания схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ описаниС схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ KZ-1048. Для этого Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π±Π°Π·Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

pro bank -pf my_kz.pf
Β 
Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Tools-> Data Dictionary -> Admin -> Load Data and Definitions-> Data Definitions (.df file). Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«<Files…>Β» Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ df-Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ KZ-1048 – kz<dbname>.df. НаТмитС F1. БистСма выдаст сообщСниС ΠΎΠ± отсутствии Π² Ρ„Π°ΠΉΠ»Π΅ описания Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Β«There is no Code Page defined in this input file.Β» — Π½ΠΈ Ρ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ β€œOK”.Β  Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – KZ-1048. НаТмитС F1. НачнСтся процСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π’ случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π½ΠΎ сообщСниС Β«Load completed.Β».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ новая Π±Π°Π·Π° ΠΈΠΌΠ΅Π΅Ρ‚ схСму.

Β 
7.Β Β Β  Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Ρƒ.
Β 

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ, сконвСртированными Π² KZ-1048:
Β 

cd /data/10/kz/dump/kzdump
Β 
ЗапуститС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:
time proutil /data/10/kz/bank -C bulkload kz<dbname>. fd -pf my_kz.pf < forbulk.txt
Β 
По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π²Ρ‹ Π²Π΅Ρ€Π½Π΅Ρ‚Π΅ΡΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку.

Β 
8.Β Β Β  ΠŸΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Β 
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° bulkload для ускорСния процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ всС индСксы, Ρ‚ΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ стали доступны для использования, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Для этого Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
Β 

proutil /data/10/kz/bank -C idxbuild ALL -pf my_kz.pf
Β 
По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС: Β«Index rebuild complete. 0 error(s) encountered.Β»

Β 
9.Β Β Β  Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (_user)
Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² Π±Π°Π·Ρƒ всСх зарСгистрированных Π² Π½Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Для этого Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π±Π°Π·Ρƒ:
Β 

pro bank -pf my_kz. pf
Β 
Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Tools -> Data Dictionary -> Admin -> Load Data and Definitions -> User Table Contents. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«<Files…>Β» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ скновСртированный Ρ„Π°ΠΉΠ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ _kzuser.d. НаТмитС F1. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС Β«User information loaded successfully.Β».
Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π±Π°Π·Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΈ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ…ΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ.
Β 
НС выходя ΠΈΠ· Π±Π°Π·Ρ‹ приступаСм ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°.
Β Β 
10.Β Β Β  Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сСквСнций
Β 
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ значСния счСтчиков (сСквСнций). Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Tools -> Data Dictionary -> Admin -> Load Data and Definitions -> Sequences Current Values. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«<Files…>Β» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ скновСртированный Ρ„Π°ΠΉΠ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ _kzseqvals.d. НаТмитС F1. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС Β«Load of sequence values completedΒ».
Β 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Π°Π·Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π°!
Β 
Β 
11. Β Β Β  Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ свСрка dbanalys.
Β 
Π‘Π½ΠΎΠ²Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ dbanalys с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

proutil bank -C dbanalys > dbanalys-last.txt
Β 
По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ количСство записСй Π² Π±Π°Π·Π΅ Π΄ΠΎ ΠΈ послС ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ, Ссли ΠΎΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ – Π·Π½Π°Ρ‡ΠΈΡ‚, всё Π² порядкС ΠΈ конвСртация ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

Π‘Π°ΡˆΠΊΠ°Ρ‚ΠΎΠ² Π’.Π“. 2008 Π³.


Как ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² Python ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… DataΒ Science часто приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ с Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ датасСтов, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Ρ‹Ρ‚ΡƒΡŽ Π² Ρ…ΠΎΠ΄Π΅ вычислСний ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ»Ρ‹. БСгодня ΠΌΡ‹ расскаТСм ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Python: Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ»ΠΈ записываСм

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас имССтся Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Python. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ openΒ Π²Π½ΡƒΡ‚Ρ€ΠΈ контСкстного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°:

with open('file. txt') as f:
    data = f.read() # содСрТимоС Ρ„Π°ΠΉΠ»Π°

Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ», ΡƒΠΊΠ°Π·Π°Π² wΒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

text = 'Hello'
with open('file.txt', 'w') as f:
    f.write(text)

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, для чтСния Ρ„Π°ΠΉΠ»Π° ΠΌΡ‹ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΡ€ΠΎΠΌΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΠΆΠ΅ стоит Ρ€Π΅ΠΆΠΈΠΌ чтСния. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ явно, Ρ‡Ρ‚ΠΎ это ΠΈΠΌΠ΅Π½Π½ΠΎ тСкстовый Ρ„Π°ΠΉΠ», Π° Π½Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Ρ‚ΠΎΠΆΠ΅ стоит ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Для чтСния ΠΈ записи Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² добавляСтся b, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, rbΒ ΠΈΠ»ΠΈ wb.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΡ‹ использовали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ openΒ Π² контСкстном ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅. МоТно ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° послС чтСния ΠΈΠ»ΠΈ записи слСдуСт Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ».

f = open('file.txt')
f.read()
f.close()

На ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Python выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ, поэтому, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΅Π΅ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ, рСкомСндуСтся Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹.

Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° с Ρ€Π°Π·Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ

На ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах PythonΒ Π² качСствС стандарта кодирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ UTF-8, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, часто ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ€ΠΎΠ΄Π΅ этой:

>>> f = open('somefile.txt', encoding='ascii')
>>> f.read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/Python3.8/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
12: ordinal not in range(128))

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ASCII, Π½ΠΎ Ρ„Π°ΠΉΠ» Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, поэтому ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ такая ошибка. Π Π΅ΡˆΠΈΡ‚ΡŒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ трСмя способами:

  1. Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ erorr=replace, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ нСраспознанныС символы Π·Π½Π°ΠΊΠΎΠΌ ?:
    >>> f = open('somefile. txt', encoding='ascii', errors='replace')
    >>> f.read()
    'H?llo py?ho?-school!'
    
  2. Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ erorr=ignore, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ нСраспознанныС символы:
    >>> f = open('somefile.txt', encoding='ascii', errors='replace')
    >>> f.read()
    'Hllo pyho-school!'
    
  3. Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. Если тСкст Π½Π° русском языкС, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python. НапримСр, явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ UTF-8 ΠΈΠ»ΠΈ cp1251:
    f = open('somefile.txt', encoding='utf-8')
    # ΠΈΠ»ΠΈ cp1251
    f = open('somefile.txt', encoding='cp1251')
    
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ† ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ открытия Ρ„Π°ΠΉΠ»ΠΎΠ²

Как ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ Ρ€Π°Π½Π΅Π΅, для записи тСкстового Ρ„Π°ΠΉΠ»Π° добавляСтся Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ w. Но Ссли Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ write, ΠΎΠ½ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅Ρ‚ вСсь Ρ„Π°ΠΉΠ». Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях трСбуСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ a вмСсто w:

text2 = 'world'
with open('file.txt', 'a') as f:
    f.write(text)
# Helloworld

Если Ρ„Π°ΠΉΠ»Π° Π½Π΅ сущСствуСт, Ρ‚ΠΎ ΠΏΡ€ΠΈ aΒ ΠΈ ΠΏΡ€ΠΈ wΒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан. Но Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ, пСрСдаСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ x:

# 'x' Π½Π΅ даст возмоТности ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ сущСствуСт
>>> with open('file.txt', 'x') as f:
... Β Β Β f.write(text2)
FileExistsError Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Traceback (most recent call last)

  FileExistsError: [Errno 17] File exists: 'file.txt'

# ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ file2.txtΒ Π½Π΅ сущСствуСт, всС OK
>>> with open('file2.txt', 'x') as f:
... Β Β Β f.write(text2)
Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Python-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° послС Π΅Π΅ закрытия ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Π’ΠΎΠ³Π΄Π° пригодится стандартный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ tempfile. НапримСр, класс TemporaryFile создаст Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ удалится послС закрытия. НиТС примСр в Python.

>>> from tempfile import TemporaryFile
>>> f = TemporaryFile("w+t")
>>> f.write("hello")
>>> f.seek(0)
>>> f.read()
'hello'
>>> f.close() # файл уничтоТаСтся
# либо в контСкстном мСнСдТСрС
    f.write(text2)

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° 3 Π²Π΅Ρ‰ΠΈ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, ΠΌΡ‹ явно ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ "w+t", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ тСкстовый Ρ„Π°ΠΉΠ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ стоит "w+b" для Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Ρ‚ΠΎΡ€ΠΎΠ΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ seek(0) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° самый ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ происходит с Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ указатСля, Π° ΠΎΠ½ стоит Π² ΠΊΠΎΠ½Ρ†Π΅ (послС Π±ΡƒΠΊΠ²Ρ‹ β€˜o’ Π² словС β€˜hello’). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ стоит ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ запись:

>>> f.seek(5) # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½Π΅Ρ†
>>> f. read()
''
>>> f.write("world")
5
>>> f.seek(0) # ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π½Π°Ρ‡Π°Π»ΠΎ
>>> f.read()
'helloworld'

Π’Ρ€Π΅Ρ‚ΡŒΠ΅, Ρ„Π°ΠΉΠ» TemporaryFile Π½Π΅Π²ΠΈΠ΄ΠΈΠΌ для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Python, поэтому ΠΈΠ·Π²Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΅Π³ΠΎ Π½Π°ΠΉΡ‚ΠΈ.

Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

А Π²ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса NamedTemporaryFileΒ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π½Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, ΠΈ Π½Π°ΠΉΡ‚ΠΈ мСсторасполоТСниС ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° name:

>>> from tempfile import NamedTemporaryFile
>>> f = NamedTemporaryFile("w+t")
>>> f.name
'/tmp/tmp60djsgli'
>>> f.close()

Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ„Π°ΠΉΠ» называСтся tmp60djsgli. Для удобства ΠΌΠΎΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

>>> f = NamedTemporaryFile("w+t", prefix="myfile", suffix=".txt")
>>> f.name
'/tmp/myfile7mxae0fi. txt'
Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ

ΠšΡ€ΠΎΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс TemporaryDirectory:

>>> from tempfile import TemporaryDirectory
>>> d = TemporaryDirectory()
>>> d.name
'/tmp/tmp5eadqzz5'

Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² prefixΒ ΠΈ suffix, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ контСкстного ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° Python.

Β 

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ взаимодСйствии Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΈ Python. А ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ практичСскиС Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… DataΒ ScienceΒ Π²Ρ‹ смоТСтС Π½Π° Π½Π°ΡˆΠΈΡ… курсах ΠΏΠΎ PythonΒ Π² Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΒ ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ цСнтрС обучСния ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ IT-спСциалистов Π² МосквС.

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ расписаниС

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° курс

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

  1. https://docs.python.org/3/library/functions.html#open
  2. https://docs.python.org/3/library/tempfile.html

Out-File (Microsoft.

PowerShell.Utility) β€” PowerShell | Microsoft Learn
  • Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ
ΠœΠΎΠ΄ΡƒΠ»ΡŒ:
Microsoft.PowerShell.Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ».

Бинтаксис

 Π’Π½Π΅ Ρ„Π°ΠΉΠ»Π°
   [-FilePath] <строка>
   [[-ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°] <ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°>]
   [-Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ]
   [-Π‘ΠΈΠ»Π°]
   [-NoClobber]
   [-Π¨ΠΈΡ€ΠΈΠ½Π° <число>]
   [-NoNewline]
   [-InputObject ]
   [-Π§Ρ‚ΠΎ, Ссли]
   [-ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ]
   [<ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹>] 
 Π’Π½Π΅ Ρ„Π°ΠΉΠ»Π°
   [[-ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°] <ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°>]
   -LiteralPath <строка>
   [-Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ]
   [-Π‘ΠΈΠ»Π°]
   [-NoClobber]
   [-Π¨ΠΈΡ€ΠΈΠ½Π° <число>]
   [-NoNewline]
   [-InputObject ]
   [-Π§Ρ‚ΠΎ, Ссли]
   [-ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ]
   [] 

ОписаниС

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Out-File отправляСт Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ». Он нСявно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСму форматирования PowerShell для Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ». Π€Π°ΠΉΠ» ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ прСдставлСниС Π½Π° дисплСС, Ρ‡Ρ‚ΠΎ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ строками. Когда Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Π²Ρ‹Π²ΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Out-File вмСсто пСрСнаправлСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ( > ). Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ см. about_Redirection.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1. ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ созданиС Ρ„Π°ΠΉΠ»Π°

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ список процСссов локального ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² Ρ„Π°ΠΉΠ». Если Ρ„Π°ΠΉΠ» Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅ сущСствуСт, Out-File создаСт Ρ„Π°ΠΉΠ» ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ.

 ΠŸΡ€ΠΎΡ†Π΅ΡΡ получСния | Out-File -FilePath .\Process.txt
Get-Content -ΠŸΡƒΡ‚ΡŒ .\Process.txt
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
 ------ ----- ----- ------ -- -- -----------
     2922,39 35,40 10,98 42764 9 ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
     53 99,04 113,96 0,00 32664 0 CcmExec
     27 96.62 112.43 113.00 17720 9 Код 

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Get-Process ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список процСссов, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Out-File . Out-File ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ FilePath ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈ создаСт Ρ„Π°ΠΉΠ» Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Process. txt . Get-Content Команда ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ содСрТимоС ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Π² консоли PowerShell.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ пСрСзаписи ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдотвращаСтся ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Out-File пСрСзаписываСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹.

 ΠŸΡ€ΠΎΡ†Π΅ΡΡ получСния | Out-File -FilePath .\Process.txt -NoClobber
Out-File: Ρ„Π°ΠΉΠ» Β«C:\Test\Process.txtΒ» ΡƒΠΆΠ΅ сущСствуСт.
Π’ строкС:1 символ:15
+ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ-ΠŸΡ€ΠΎΡ†Π΅ΡΡ | Out-File -FilePath .\Process.txt -NoClobber
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Get-Process ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список процСссов, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Out-File . Out-File ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ FilePath ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈ пытаСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ» Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Process.txt . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ NoClobber ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π€Π°ΠΉΠ» ΡƒΠΆΠ΅ сущСствуСт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ» Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ASCII

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° кодирования.

 $Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50 

ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Get-Process ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список процСссов, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ хранятся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $Procs . Out-File ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ FilePath ΠΈ создаСт Ρ„Π°ΠΉΠ» Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠŸΡ€ΠΎΡ†Π΅ΡΡ.txt . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ InputObject ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² $Procs Π² Ρ„Π°ΠΉΠ» Process.txt . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Encoding ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ASCII . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Width ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² Ρ„Π°ΠΉΠ»Π΅ 50 символами, поэтому Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ усСчСны.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4. ИспользованиС поставщика ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ»

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Out-File , ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Get-PSProvider для просмотра поставщиков Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Для большСго ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ about_Providers.

 PS> Set-Location-ПсСвдоним ΠΏΡƒΡ‚ΠΈ:
PS> ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ-мСстополоТСниС
ΠŸΡƒΡ‚ΡŒ
----
ПсСвдоним:\
PS> ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ-ChildItem | Out-File - FilePath C:\TestDir\AliasNames.txt
PS> Get-Content -Path C:\TestDir\AliasNames.txt
Имя Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
----------- ----
ПсСвдоним % -> ForEach-Object
ПсСвдоним? -> Π“Π΄Π΅-ΠžΠ±ΡŠΠ΅ΠΊΡ‚
ПсСвдоним ac -> Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚
ПсСвдоним cat -> Get-Content 

Команда Set-Location ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Path для установки Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ мСстополоТСния Π² рССстр. ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ ПсСвдоним: . ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Get-Location ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ для Alias: . Get-ChildItem отправляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Out-File . Out-File ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ FilePath для указания ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, C:\TestDir\AliasNames. txt . ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Get-Content ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Path ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π° Π² консоли PowerShell.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5: Установка ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° для всСй области

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ $PSDefaultParameterValues ​​ для установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π¨ΠΈΡ€ΠΈΠ½Π° для всСх Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Out-File ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ пСрСнаправлСния ( > ΠΈ >> ) Π½Π° 2000. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π΅Π·Π΄Π΅ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Ρ„Π°ΠΉΠ», PowerShell ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ строки 2000 вмСсто ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π»ΠΈΠ½ΠΈΠΈ, опрСдСляСмой ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ консоли хоста PowerShell.

 функция DemoDefaultOutFileWidth() {
    ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ {
        $PSDefaultParameterValues['out-file:width'] = 2000
        $logFile = "$pwd\logfile.txt"
        Get-ChildItem Env:\ > $logFile
        Get-Service -ErrorAction Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ | Π€ΠΎΡ€ΠΌΠ°Ρ‚-Π’Π°Π±Π»ΠΈΡ†Π°-АвторазмСр | Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ„Π°ΠΉΠ» $logFile -Append
        Get-процСсс | Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², SI, имя, ΠΏΡƒΡ‚ΡŒ, MainWindowTitle >> $logFile
    }
    ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ {
        $PSDefaultParameterValues. Remove('out-file:width')
    }
}
DemoDefaultOutFileWidth 

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ $PSDefaultParameterValues ​​ , см. about_Preference_Variables.

Parameters

-Append

-Confirm

-Encoding

-FilePath

-Force

-InputObject

-LiteralPath

-NoClobber

-NoNewline

-WhatIf

-Width

Inputs

PSObject

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ этому ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚Ρƒ.

Π’Ρ‹Ρ…ΠΎΠ΄Ρ‹

НСт

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π²ΠΎΠ΄Π° автоматичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Format-* ΠšΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ для явного управлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ». НапримСр, Π”Π°Ρ‚Π° получСния | Бписок Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² | Out-File out.txt

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ PowerShell Π² ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ Out-File , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ InputObject для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Out-File ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚.

Out-File сохраняСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ», Π½ΠΎ Π½Π΅ создаСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² для ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°.

Π’ PowerShell 7.2 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° β€‹β€‹Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ANSI. ANSI-ΡƒΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСдаСтся Π² Out-File , ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² зависимости ΠΎΡ‚ настройки Бвойство $PSStyle.OutputRendering . Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. about_ANSI_Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹.

  • about_Providers
  • about_Quoting_Rules
  • Π’Π½Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
  • Π’Π½Π΅ΡˆΠ½ΠΈΠΉ хост
  • Out-Null
  • Π’Π½Π΅ΡˆΠ½ΡΡ строка
  • Π’Ρ€ΠΎΠΉΠ½ΠΈΠΊ ΠžΠ±ΡŠΠ΅ΠΊΡ‚

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ содСрТимого β€” HTTP | ΠœΠ”Π

Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ прСдставлСния Content-Encoding пСрСчислСны всС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ (полСзная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сообщСния), ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС. Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСдставлСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исходный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ содСрТимого Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сТатия Π΄Π°Π½Π½Ρ‹Ρ… сообщСния Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± исходном Ρ‚ΠΈΠΏΠ΅ носитСля.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ исходный Ρ‚ΠΈΠΏ носитСля/ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° указываСтся Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Content-Type , ΠΈ Ρ‡Ρ‚ΠΎ Content-Encoding примСняСтся ΠΊ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ Β«ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅Β» Π΄Π°Π½Π½Ρ‹Ρ…. Если исходный Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²ΠΈΠ΄Π΅ zip-Ρ„Π°ΠΉΠ»Π°), эта информация Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Content-Encoding .

Π‘Π΅Ρ€Π²Π΅Ρ€Π°ΠΌ рСкомСндуСтся максимально ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ содСрТимого, Π³Π΄Π΅ это умСстно. Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ сТатого Ρ‚ΠΈΠΏΠ° носитСля, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ zip ΠΈΠ»ΠΈ jpeg, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСумСстным, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

Π’ΠΈΠΏ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ прСдставлСния
Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½ΠΎΠ΅ имя Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π½Π΅Ρ‚
 ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° содСрТимого: gzip
Content-Encoding: ΡΠΆΠ°Ρ‚ΡŒ
Content-Encoding: дСфляция
ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° содСрТимого: br
// НСсколько, Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹
Content-Encoding: deflate, gzip
 
gzip

Π€ΠΎΡ€ΠΌΠ°Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ ЛСмпСля-Π—ΠΈΠ²Π°. (LZ77) с 32-Π±ΠΈΡ‚Π½ΠΎΠΉ CRC. Π­Ρ‚ΠΎ исходный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ UNIX 9.0295 gzip ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ HTTP/1.1 Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвСры, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ этот content-encoding Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ x-gzip ΠΊΠ°ΠΊ псСвдоним для совмСстимости Ρ†Π΅Π»Π΅ΠΉ.

компрСсс

Π€ΠΎΡ€ΠΌΠ°Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ЛСмпСля-Π—ΠΈΠ²Π°-Π’Π΅Π»Ρ‡Π° (LZW). имя значСния Π±Ρ‹Π»ΠΎ взято ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ UNIX Compress , которая Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π° это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Подобно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ сТатия, которая исчСзла ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° UNIX-систСм. дистрибутивов, эта ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° сСгодня Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ, частично ΠΈΠ·-Π·Π° Π²Ρ‹Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ‚Π΅Π½Ρ‚Π° (срок Π΅Π³ΠΎ дСйствия истСк Π² 2003 Π³.).

сдуваниС

ИспользованиС zlib структура (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² RFC 1950) со сТатиСм deflate Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² RFC 1951).

Π±Ρ€ Check cross-browser support before using.»> НСстандартный

Π€ΠΎΡ€ΠΌΠ°Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π‘Ρ€ΠΎΡ‚Π»ΠΈ.

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ gzip

На сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ список схСм сТатия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ вмСстС с HTTP-запросом. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Accept-Encoding ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для согласованиС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

 Accept-Encoding: gzip, deflate
 

Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ схСмой, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ Content-Encoding Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΡ‚Π²Π΅Ρ‚Π°.

 ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° содСрТимого: gzip
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ сСрвСр Π½Π΅ обязан ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ сТатия. Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ высоко зависит ΠΎΡ‚ настроСк сСрвСра ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… сСрвСрных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

БпСцификация
НСизвСстная спСцификация
# field.content-encoding

Π’Π°Π±Π»ΠΈΡ†Ρ‹ BCD Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ JavaScript.