ááá˘áŤ
ááá áľá á áľáŤáťáá˝ áá¨áá á ááŁáá á á áá áľááŞááľ á°áááŻáᢠá˘-ááá ᨠHR áłáłá¤á á¨á°áá á¨á°áŤá°á áŚáł áŤáá¸á á°á áááá˝ á¨á°áĽáłá¤ áááŞáŤ áááá á¨á°áá á°áŤá°áá˝á˘ áááąá ááááŽá˝ áá° áŠááŽáľ á¨á˝áá áááá˝ á°áá¨ááᢠá UTF-8 áĽá á áŠáááľ ááľáá áá¨á¨áťáá˝ á°á¨áá˝áˇá.
áááľ mail.txt
ĐванОв ĐндŃоК;[email protected]
áááľ buhg.txt
ĐванОва ĐННа;ПаНŃŃ
ĐНкина ĐННа;ĐşŃанОвŃиŃĐ°
ĐванОв ĐндŃоК;ŃНоŃĐ°ŃŃ
ĐйаканОв ĐиŃ
аиН;ПаНŃŃ
áááááľ ááááš á áŠáááľ áľááá á°á°ááľá¨ááᢠááááľ áĽá ááŠáááľ ááŽááŤá ááĽá áľ ááĽáˇáᢠááááááłááłá°áĽ á áľá á°áą áŤá áááĄ-
$> sort buhg.txt > buhg.srt
$> sort mail.txt > mail.srt
$> join buhg.srt mail.srt > result
join: buhg.srt:4: is not sorted: ĐванОв ĐндŃоК;ŃНоŃĐ°ŃŃ
á¨ááá¨áľ áá¤áąá á á ááá˝ áááá¨áą á á á ááá á ááłá°áŠ áľááá áá ᣠáá á á ááŁá á¨áááľ áĽá á¨á´áľ áľáá˝á á á°ááá¨á° á´áśáš á¨áááśáš áááľáá á˘
$> sort buhg.txt
ĐйаканОв ĐиŃ
аиН;ПаНŃŃ
ĐНкина ĐННа;ĐşŃанОвŃиŃĐ°
ĐванОва ĐННа;ПаНŃŃ
ĐванОв ĐндŃоК;ŃНоŃĐ°ŃŃ
á áŠááŽáľ ááľáĽ á¨áá°áá°á á˝áá ááá á á á°áŤá°á áľáá° ááá ááľáĽ á¨á´áľááľ ááá፠áááľááᢠá¨ááááŞáŤá, á áĽáááĽ, á¨á áá ááááŤáłá áá.
áá áá áĽááľááá°á ááááá áĽá áľáŠá¨áľ ááľáĄ ááááľ. á˝ááŠá á áłáááłá áá áá´ ááááłáľ áĽáááá. ááááŞáŤ á áŤáŁá˘áá ᨠen_us áá ru_RU. ááá°áá°á á¨á áŤáŁá˘á á°áááá áááááľ á á áááá LC_COLLATEááá áá á áĽáá á áááŽá˝ áá á ááŁáááá˘
$> LANG=ru_RU.UTF-8 sort buhg.txt
ĐйаканОв ĐиŃ
аиН;ПаНŃŃ
ĐНкина ĐННа;ĐşŃанОвŃиŃĐ°
ĐванОва ĐННа;ПаНŃŃ
ĐванОв ĐндŃоК;ŃНоŃĐ°ŃŃ
ááá á áá°ááá áá˘
áááášá áá° áá á áŁááľ á˘ááŽá˛áá áááá¨á áĽáááááĄ-
$> iconv -f UTF-8 -t KOI8-R buhg.txt
| LANG=ru_RU.KOI8-R sort
| iconv -f KOI8-R -t UTF8
áĽáá°áá, ááá ááá á áá°ááá á.
ááá ááá ááľá¨á á ááťáá, á áááá¨áĽ áá áááľá áááá á ááĽááľ. áľá áŠá˛áŤá áľáá˝ á ááĽáł ááá ááá á¨áá ᣠáá áľá ááá˝ áŤáá°áááą áááŽá˝á ááá¨áľ áĽáŤááá˝ á áᢠáááłá á ááľ á˝áá áĽáá
á ááĄ-
áááą á ááá áŚáł áá°á á ááᥠá¨ááŽááŤá á áľáŤááá á áŤáŁá˘ á°á áá "á" áĽá á°áľá°á áľáááá . áĽááááŤáá:
$> LANG=C sort buhg.txt
ĐНкина ĐННа;ĐşŃанОвŃиŃĐ°
ĐйаканОв ĐиŃ
аиН;ПаНŃŃ
ĐванОв ĐндŃоК;ŃНоŃĐ°ŃŃ
ĐванОва ĐННа;адвОкаŃ
á¨áá ááá á°áááŻáᢠá˘áŤáááľ á áľááááá á á°á á°á¨á°á á°á°ááá, ááá áĽááłá áŽááŞá á¨áá áŚáł á˘áá¸áŤá°áľá. áá° ááá á˝áá áĽááááľáĄ-
$> LANG=C sort buhg.txt > buhg.srt
$> LANG=C sort mail.txt > mail.srt
$> LANG=C join buhg.srt mail.srt > result
á á áááá¨áĄ áá á ááŁá áá°á¨áľ áŤáááá áľá á°áľ á°ááˇáᢠáĽá áá á ááááŞáŤá ááľáá áá áŽááŞá á˘áááá˘
á˝áአá¨á°ááł áááľáá, áá áĽáá°á፠á¨áá, áá á¨áŠáľáŤ á˘ááŽá˛áá áĽáááá - áááśááľ CP1251:
$> iconv -f UTF-8 -t CP1251 buhg.txt
| LANG=ru_RU.CP1251 sort
| iconv -f CP1251 -t UTF8
á¨áá°áá°á áá¤áąáŁ á ááŤáľááá áááłáŁ á¨á áŤáŁá˘á áá ááááłá "á", áĽá ááá ááłá, á áá áá á¨áľ, áŤá áľá á°áśá˝ áŤááá. á ááľ ááááľ ááľáĽáŤáá˘
á ááŽááŤá á ááŁáĽ áá ááľá˘áŤáááľ á áááľá ááááŤáąá áĽááá áá áľá á°áśá˝á áľááá¸áá ááᢠáĽáá´áľ áĽáá°áá°áŤ á áá ááá ááááá á ááĽáᢠááááľ áĽá áá á°á˝áá ááá¨áá LC_COLLATE .
á áá¨á¨áť ááĽáŤáááš áááľ áááľá áľ áĽáááŤáá-
- ááá á¨á´áśá˝ áľáá˝ á áľá á°áľ áĽáá°á°á°á¨á°áŠ
- ááá LANG=ru_RU.CP1251 á°ááŁáŁá áá á°áááˇá LANG=C
- ááá á áá° áááᾠи ááááá áľá á¨á°á°á¨á°áŠ á¨áľáá˝ á á°á á°á¨á°á á¨á°ááŤáŠ ááłáŚá˝
- á ááá ááłáááź ááľáĽ ááá áľá á°áśá˝ á áá˘
- á áá¨á¨áťá áááśá˝á áá° ááá°áľá áĽáá´áľ áá°áá°á áĽáá°ááťá
á áŠááŽáľ áá°áá°á
á¨ááááŞáŤ ááá፠á´áááŤá áŞáááľ #10 áááľ ááááá˘
Collation - á¨ááĽá¨ááááá˝ "áá˝á˝á" á¨áááááá á¨áá°áá°á áľáá° ááá áá°á¨áľ áá. áľáá° áááŽáš áĽáŤáłá¸á áááŤáŠ áá˝áá ("á á¨á"ᣠ"ááááľ"ᣠ"ááŁá")ᣠááá áá ááá á á°á á°á¨á°áá¸áá áááá°á á¨á ááľ áĽááľ ááĽá¨ááááá˝ áá á á áá áááá˘
á á°ááĽáŽ ááá ááĽá¨ááááá˝á áá°áá°á á áŁá á¨áŁáľ á˝áá ááᢠá áŁá ááá á ááá áá á áŁááľ á˘ááŽá˛áá ááľáĽ áĽááłáᣠá áá°ááľ ááľáĽ áŤá á¨áá°ááľ á á°á á°á¨á°á ᣠááá áĽááłá á¨áĽáááááá á¨áá˛á áá°ááľ á á°áá°á á°á¨á á¨á°áᨠá˘ááá ᣠáĽááá áá°áá˝ á¨á°áááĄáŁá¸á á¨ááĽá áĽá´áśá˝ á á°á á°á¨á°á áá á ááŁáŁááᢠáľááá á áááá áá°ááľ áá°á Ă ááŤá¨á áááá Ри PáĽá á˘ááŽá˛áá ááľáĽ CP850 ááŤá¨á áľááľááá˝á˘ Ăż и Ă.
á¨áአá˘ááŽá˛áá áááŤáá ááá¨á áĽá á áŠááŽáľ áĽáá°á°á°á¨áá á á°áá°á á á°á á°á¨á°á á¨á°á°á¨á°áŠáľá "ááłáŁá" áá°ááľ áááľ ááľáĽ ááľááŁáľ áľá˝ááá ᢠá˘ááŽá˛áá UTF8, UTF16 ááá áá á áŁááľ KOI8-R (á¨á°áá°á á¨áŠááŽáľ ááĄáľ áľáĽáľáĽ á áľááá á¨áá) á¨áá°áášá á¨á°ááŤáŠ á ááá ááááŤáá˝á áá°áŁá ááá áá á°ááłáłá á¨á á¨á´á áááá˝á áááá¨áąá˘
ááá áĽááłá á¨ááááľ á á¨á´áá á¨áŁáś áĽááááŁá ᣠááĽáą áááá°áá ááááľ áľáĽáá ááľá áľ á áá˝ááᢠá°ááłáłáŠá áá°ááľ á áá áá á¨á°ááŤáŠ áĽááŤá áá°áá˝ ááľáĽ á¨áĽááá áá°áá˝ á á°á á°á¨á°á áááŤá áá˝ááᢠáááłá á áá¨ááłáá Ă áĽáá° á ááľ áĽá áĽáá° ááĽá¨ááá áá°á¨á°áŤá AE. á áááá ááá Ă á áá á¨ááá á¨á°áᨠá°áĽáłá¤ áááá Z. á áááŤá˝á áá áĽáá° á ááśá˝ áŤááá á áľá°áá Ă áĽá ááááá˝ áŤáá¸á áá°áá˝ á áᢠáľááá á áźá áá°ááľ ááľáĽ á ááľ áá°á á á ChááŤá¨á á¨áá H и I.
á¨áá°á ááŠááľ á á°á¨ááŞáŁ á¨áá°áá°áá á¨ááአááá˝ áááŤá ááá˝ á áᢠá á°ááá, áĽáŤáá á¨áááłá: á áááá -áááą ááľáĽ á á˘á áááŤáľ áĽá áľáá˝ áá°ááľ áŤáŤá°áą áááľ á á¨áľáá á á°á á°á¨á°á ááłá¨áľ á ááŁá¸á? áĽáá˛áá áá°áá°á á áĽááá°-ááĽáĽ ááááśá˝ á á ááá áአáááłáá˝ áááł áá˝ááᢠá áľááá˝áŁ á¨á°ááá á á¨áĽáŤá ááááľ á áĽáŤá áá¨áá° ááá ááááŞáŤ áá á°ááá§á (ááá áľááłáá ?). á áá ááłá ááᣠá¨áĽáŤá á á¨áá° áááŽá˝ á¨áá°á áá á á°áᨠáááľá°á ááá°áĽ áĽáá°áááŁá¸á ááá˝ ááᣠááá áá ááľááŽá˝á á á°ááŤáŠ áĽááá°-ááĽáĽ áĽáá´áľ áá°áá°á áĽáá°ááťá?
á¨á ááŽáááŤá á á°áᨠááá á ááĽá¨ááá á á¨ááá áá á áá°ááľááᢠá¨áá áá° á፠ááá á¨áá áĽáľá¨ áłá˝ áŤá ááááá˝ ááááá˝á á ááľááŽá˝ ááľáĽ á ááŁáĽ á
á°á á°á¨á°á á¨áá áŤáá á ááá፠áĽááłáá¸á áἠáá á, áĽá áá°á áŤááá áľááŞááśá˝ áĽááłá ááľááŽá˝á á ááá ááᣠá¨áŤáłá¸á ááááľ á áá¸á. áááłáᣠáááŽááááľ á á
ᥠááá ááťáá (
á¨áá á á°áá¨ááŠáľ áŁá áŞáŤáľ áá á áááľá¨áľ, á áŠááŽáľ á á¨á´ááá˝ áá á áááľá¨áľ ááĽá¨ááááá˝á áááááá ááááš ááľáááśá˝ á°ááááá.
- á¨ááĽá¨ááá áá˝á˝á á áŽáľ á áá á¨áĽ ááľáĽ áŁá á¨ááááá˝ á áááἠáá á¨á°á፠á áá°áá;
- áá á áááá á¨áááĽáŠ á¨ááááá˝ á á°á á°á¨á°áá˝ áá° ááááá á á ááááłá (A + á¨áááá áá ἠá°ááłáłá ááᢠà );
- ááĽá¨ááááá˝á á˛áŤááłáľáŠáŁ ááá á ááĽá¨ááá á ááľ ááľáĽ ááłá°áŁá áĽá á áľááá á¨áá á¨áá¨á¤áśá˝ áá áá° á ááľ á¨áá á á á ááľ ááŁááŤá (Ch á áźá) ááá áá° áĽá á°á¨ááá (Ă á áá¨ááłáá);
- ááá áááŤá áŁá áŞáŤáľ (áá°áᣠá á˘á áááŤáľáŁ áĽááá°-ááĽáĽ ááááśá˝áŁ á¨á áťáťá ááááśá˝ á á°á á°á¨á°á) áĽáľá¨ áľáĽáá (á˘áá) á áĽá áĽáľáŞá°áĄ áľá¨áľ áááá á ááŁá¸áá˘
- áá˝á˝á ááá°áá°á áĽáť áłááá á ááá˝ á ááŤáł áŚáłáá˝á á áľááá ááᥠáááłáᥠá¨ááĽá¨ááááá˝ áááá áááá¨áľ (á {A ... z} ááľáĽ á áá°áŤáľ bash);
- áá˝á˝á á á ááŁá ááá á áá áľ.
á á°á¨ááŞá á¨áŞáááą á áááá˝ á áááŞáá ááá˘áá˝ áááŠá áľ á¨ááááŁá¸áá á¨áá á á áŁá áŞáŤáľá ááááááĄ-
- á¨áá á á áľáá° ááá ááĽáŤááłááą ááá á¨á°áᨠá¨ááá áľáĽáľáĽ á áŤáľááááá (á¨áŠá˛áŤ áĽá á¨áŠááŹá ááááá˝ áĽá á˛áŞáá ááááá˝á áááŤá)á˘
- áá˝á˝áŠ á áŠááŽáľ á áá á¨áŚá˝ á¨ááááá˝ á á°á á°á¨á°á áá á¨á°áá°á¨á° ááá á¨áá áľá;
- á á°ááŤáŠ áŁá áá á ááśá˝ ááľáĽ áŤáá á°ááłáłá ááĽá¨ááá á¨á°ááŤá¨ ááĽá°áľ ááá¨á áľááá˝á á¨ááĽá¨áááá ááĽá°áľ á¨ááĽá¨áááá áŁá ᪠ááá á¨áá áľáá˘
- á¨á¨áľá ááĽá°áśá˝ á˛áááą ááá á˛á¨ááá áááᥠáá˝áá (ᨠx < y áŤáá á áá¨á°ááᢠxz < yz);
- á°ááłáłá ááĽá°áľ áŤáá¸á á¨á°ááŤáŠ ááĽá¨ááááá˝ á¨áá°áá°á áľáá° ááá á ááťá áĽáŠá ááá áŤáᢠá¨áĽáá°áá á áááľ ááĽá¨ááááá˝ á°á¨á᪠á á°á á°á¨á°á ááľá°ááá ááťáá, ááá áá á ááááá ááŤáłáŁá áá˝áá;
- á°ááłáłá ááĽá°áľ áŤáá¸á á¨áľáá˝ á á°á°ááá áá°áá°á áá áľ ááááᥠáá˝áá. á˝ááľ á¨á ááľ á¨á°áá°á á¨áá°áá°á áľáá° ááá ááĽá¨áľ áĽáá á¨ááĽá¨ááá áá˝á˝á á áááŞáá ááĽá¨áľ á áá°áá (á¨áá°ááá ááĽáĽ áááá¨áą)á˘
- áŁá áá ááááśá˝ á˛áťáťá/ á˛áá¨áŠ á¨áá°áá°á á°ááŚá˝ á áá áá°áľ áááᥠáá˝ááá˘
á á°á¨ááŞá á¨áá á á áľáá° ááá áľá á°áááŁá አááĽá¨ááááá˝ áľááá ááá á¨ááŤááá ááá áĽáá°áá á°á°ááááᢠáľááá ááĽáŽá˝á áĽáť áŤáŤá°áą ááĽá¨ááááá˝ á¨ááĽáŽá˝ áá áááłá°áŠ á áááŁá, áĽá á áĽááááá áľáá˝ ááááŽá˝ ááľáĽ, á˝áá ááááľ á¨áá áľá (á˘áľáᾠᣠá).
áĽááá á áá ááľáááśá˝ áááááľáŁ áŁááĽá á°á¨á (á áĽáááą áŁáá áŤáľ-á°á¨á) á¨á°áá á¨áĽ áá°áá°á áľáá° ááá ááá§áá˘
á¨áá áá°á á ááĽá¨áááá ááľáĽ áŤááľ ááááá˝ áá° áááá ááá ááááŁá áĽá áá° áá˝á˝á áááá˝ ááá°áŁá. áĽáŤááłááą á¨áá á á á ááľ á¨á ááŤáł á¨áá á á á°á¨ááá˝ áá á¨ááááą á ááŤáł ááĽá°áśá˝ ááá°áŁá. á¨áá á á á ááśá˝ ááĽá°áśá˝ á¨áłáá áľáĽáľáŚá˝ (á áá ááłá áá á˘áá˛áá) áĽá ááá áľáá˝ ááááአá¨áá˝á á áŤááľ áá¸áᢠáአáľááá á˝á á°áĽáá (0x0) áá ááá á áá á á ááľáĽ á á°ááŁáŁá á¨áá á á á°á¨á áá á ááłá°áá áááľ áá. á¨ááĽá¨áááá áá˝á˝á á°áá˘áá á°á¨ááá˝ ááĽá°áľ á áá áá áĽá áá áá°áá áá˝áá. á áĽáŤááłááą á°á¨á á¨áááľ ááĽá¨ááááá˝ á¨áá á á á ááśá˝ ááĽá°áśá˝ á á á°á á°á¨á°á áĽááľ á ááľ áááááŤá.
áá°ááŤáŠ áĽááŤá ááá˝ á áááŞáá á á°ááŤáŠ á á°ááŁá á ááľáĽ ᣠá¨ááĽá áĽá´áśá˝ áááŤáŠ áá˝áá ᣠáá á¨áŠááŽáľ á°á¨á áá°á¨áłá á¨ááĽá°áľ á áá á¨áĽá áŤá áááá - "ááŁáŞ á¨áŠááŽáľ áľáĽáľáĽ á áŁá á°áá á¨áĽ" (DUCET). á°áááááá áááá áŠá áἠáááľ áĽááááá LC_COLLATE á ááĽá¨ááá áá˝á˝á á°ááŁá ááľáĽ á¨ááĽá°áľ á áá á¨áĽ áááŤá á áááŤá˝ ááá˘
á¨ááĽá°áľ áááŞáŤáá˝ DUCET áĽáá°áá¨á°áá á°ááá áˇá.
- á ááááŞáŤ á°á¨á, ááá áá°áá˝ áá° á°ááłáłá áááł ááááłá, á¨á˛áŤááŤá˛á ááááśá˝ ááŁáá, áĽááá°-ááĽáĽ ááááśá˝ (ááá á áá°áá) á˝á ááŁáá;
- á ááá°áá á°á¨á, áłáŤáá˛ááľ áĽáť áááľ ááľáĽ áááŁá;
- áŚáľá°áá á°á¨á ááłá áĽáť áá;
- á á áŤá°áá á°á¨á, áĽááá°-ááĽáĽ ááááśá˝ áĽáť áááľ ááľáĽ áááŁá.
áá˝á˝áŠ á á ááŤáł ááááŤáá˝ ááľáĽ ááŤááłá-á ááááŞáŤ á°á¨á, á¨áááááŤá á°á¨á ááá ááŤáá˝ áááťá¸áŤá; ááĽá°áśáš á¨ááááą á¨áá, á¨ááá°áá á°á¨á ááĽá°áľ áá áĽáá°áá áááťá¸áŤá; á¨ááŤá ááááŁáľ á ááľ áŚáľá°á áĽá á áŤá°á.
áá˝á˝áŠ á¨ááŤá áá ááĽá¨áááááš á¨á°ááŤá¨ ááĽá°áľ áŤáá¸á á°ááá á¨áá˝á˝á áááá˝á á˛áá ááᢠá á áŤáąá á°á¨ááá˝ áĽáŠá ááĽá°áľ áŤáá¸á á¨áľáá˝ áĽááľ á áĽááłá¸á áĽáŠá áĽáá°áá ááá áŤá.
áá á áááŞáá (á¨á°á¨á᪠á´áááŤá ááááŽá˝ áľáĽáľáĽ áá) #10 - áŞáááľ áááľá¨á áľá á°á á á¨áŠááŽáľ áľáĽáľáĽ á áááŞáá (áŠá˛á¤).
á¨á ááłá á¨áá°áá°á áŁá ᪠áľáá˝ ááá˝ á¨áááá áĽáá áá ááᢠá¨áŠááŽáľ áľáłááłááľ áá áááłá°á áĽáŠ ááá˘
ááá¨áŤ á á°ááŁá á áŠá˛á¤ áአá á
áľáááá á¨ááĽá¨ááááá˝ áá°áá°á á áĽá
áá¨áá፠DUCET á áŁá á á°ááş áááá ᣠáá áĽáá° áĽáľá áá ᣠá¨áŠááŽáľ áá áááľáŤáľ á¨ááŁááť á¤á°-áá˝áááľ á á°ááŁá á á á - "
á áá
á¤á°-áá˝áááľ áŚáł ááᣠá IBM, á¨áᎠááłáŤ áážá˝ á á
ĐйаканОв ĐиŃ
аиН;ПаНŃŃ
ĐНкина ĐННа;ĐşŃанОвŃиŃĐ°
ĐванОв ĐндŃоК;ŃНоŃĐ°ŃŃ
ĐванОва ĐННа;адвОкаŃ
á áááŤá˝á áá áľá
ᨠááš ICU áĽááá°-ááĽáĽ ááááśá˝á á áá áŠá áľ áá á¨áá˝á˝á á áááŞáá ááťáťáŤ ááááľ áá˝ááᢠá ááłááá˝ ááľáĽ
áŠááŽáľ á¨áľáśááᣠááá áá áĽáááł á¨áá áŁá áŞáŤáľá ááááŤáśá˝ ááá áááᾠв ááááľ áá° áá áŚáł áááľ á áá áľ.
á glibc á áá°áá°á áá
á¨áááá፠ááá áŽáśá˝ ááŁá áĽááł áááᾠᨠáá¤áአáŽá áááááŤáá˝ á áááááŤá áŤáą ááľáĽ, á áŤáŁá˘áŤáááľ á áá áŤááá á°áááá áĽá´áľ ááá°á áĽáá°ááááľ á áłááˇá LC_COLLATE á áá¨á áááł áá á˛ááľáĄ-
$ sort --debug buhg.txt > buhg.srt
sort: using âen_US.UTF8â sorting rules
á¨ááĽá¨ááá áá˝á˝á á¨áá¨áááá á áá°á á á°ááŁá ááᢠstrcoll, áá á áááľ ááá ááá á¨ááľáĽ á á¤á°-áá˝áááľ ááľáĽ áá ááŁ.
á wiki ááŽáááľ áᣠáááĽá¨ááá áá˝á˝á á¨á°á°á
á áŁá á áľá°áłá˝ áá¨á wiki á¨ááŤááá áá áá˘
á áá áľá á áááŞáá áĽá á¨áłáľ á°áá á¨áŚá˝ ááá áá¨ááá˝ á áá, áá° ááááŞáŤá á˝áá áĽááááłáá áĽá á áŠá˛áŤ á á¨áŁá˘ ááľáĽ áááśá˝á áĽáá´áľ á áľááá áá°áá°á áĽáá°ááťá áĽáá¨áłáá.
ISO 14651 / 14652
áĽá ááááľ áŤáá á¨á°áá á¨áĄ ááá áŽáľ CTT á á áĽááááš áľáááśá˝ áá ááááľ á áááŤá ááľáĽ áá /usr/share/i18n/á áŤáŁá˘áá˝/. á áá á¨áĄ áŤáą á ááá ááľáĽ áá iso14651_t1_á¨ááŤ. á¨á፠áá ááá áááŞáŤ áá iso14651_t1_common á áł á ááá ááľáĽ á°áŤáľáˇá iso14651_t1, áĽáąá á á°áŤá, á áĽááŤá áááá˝ ááľáĽ á¨á°áŤá°á°, á¨áᎠen_us и ru_RU. á á áĽááááš áľáááśá˝ áá ááááľ ááá á¨ááá áááá˝ á áá á¨áłá áááľ ááľáĽ á°áŤáľá°áá ᣠáá á¨áá ᣠá¨á፠á°á¨á᪠áĽá á á¨áľáááą ááŤá á ááĽááľá˘
á¨ááá ááá
á iso14651_t1 áľáá˝á áááááŁáľ ááá˝ áŤááá á°ááŚá˝ áá á áŁá áááłá áááľá áá˝áá ᣠáá áŤááᾠᣠááá ááá á áŁá ááá ááᢠá áááአá á°á¨áá ááľáĽ á°áááżá á áá¤áľáŚ 14652, á
áá á¨áŁá˘áŤá ááááľ áá˝áá
á¨ááá á áááአáá á áááľááá˘
á ááŁáŞáŁ áááá áĽáá° ááá፠ááá áĽá á áá ááááᣠáĽá á¨# áááá á áá áŤáá á¨ááľáአáá¨á¨áť á áľá°áŤá¨áľ ááᢠáááąá ááááśá˝ áĽáá°áá ááááš áá˝áá, áá á á á á˛áą á¨á áá á¨áĄ áľáŞáľ ááľáĽ áá¨áááá.
escape_char /
comment_char %
ááá á á áá¸áą ááľáĽ ááááśá˝á áááá ááá (á¨áľ x áááłá´á˛áá á áá áá)ᢠáá á¨áŠááŽáľ áŽáľ ááĽáŚá˝ áááłá´á˛áá áááá ááᢠUCS-4 (á UTF-32). ááá ááá˝ ááĽá¨ áááŽá˝ á ááĽáá á ááá˝ (á á¨áᎠ, âš2> áĽá á¨ááłá°ááľ) á¨ááá°-á˝áá áĽáá áľááá á¨ááá°áĄ áĽáá° ááá ááĽá¨ááááá˝ ááá áŤáá˘
ááľáá LC_COLLATE á¨ááĽá¨ááá áá˝á˝áá á¨áááá˝ áá¨á ááĽá áĽáá°áááá áááá¨ááá˘
á ááááŞáŤ, áľáá˝ á áá á á á áá á¨áĽ ááľáĽ áááĽá°áľ áĽá áááá áĽáá¨áľ áľáá˝ á°á°áĽá°áá. á á á ááá áááľ á áááľ áľáá˝ á¨áááľ á¨á°ááŤáŠ á áŤááľ áá¸á ááá áá á áĽááá°áá ááá ááľáĽ áá°áŁáááᢠá¨ááĽá°áľ áľáá˝ á ááá áá á°á°áĽá°áá á¨áá°áĽá°áĽ ááááľ (áá˝á˝á ááá) ááááŤáąá á°ááłáłá ááĽá°áľ áŤáá¸á á¨áŠááŽáľ ááááá˝ á˛ááťá¸áŠ áĽáá° á°ááŁáŁá ááááá˝ ááá áŤá.
á áá áŁáá á¨ááá áááł ááľáĽ áŤáá á¨ááá á á ááá ááááľ 900 ááľááŽá˝ ááᢠá¨áááá° áľáá˝á áĽá á ááŤáł á áááľ á ááŁáŚá˝á áááłá¨áľ á¨á ááŤáł áŚáłáá˝ ááłááá˝á á ááłáá˘
LC_COLLATE
collating-symbol <RES-1>
collating-symbol <BLK>
collating-symbol <MIN>
collating-symbol <WIDE>
...
collating-symbol <ARABIC>
collating-symbol <ETHPC>
collating-symbol <OSMANYA>
...
collating-symbol <S1D000>..<S1D35F>
collating-symbol <SFFFF> % Guaranteed largest symbol value. Keep at end of this list
...
collating-element <U0413_0301> from "<U0413><U0301>"
collating-element <U0413_0341> from "<U0413><U0341>"
- á¨áá°áĽá°áĽ ááááľ ááĽá¨ááá áááááŁá áŚáľáá፠á áá á áľá á°áá á¨áĽ ááľáĽ
- á¨áá°áĽá°áĽ ááááľ .. á áľá á áĽáŤ áŤáá á¨áľá á á°á á°á¨á°á áááááŁá S áĽá áááłá´á˛áá á¨ááĽá á áĽáŤ ᨠ1D000 áá° 1D35F.
- á¤á á¤á á¤á в á¨áá°áĽá°áĽ ááááľ á áááłá´á˛áá ááľáĽ áľáá áŤáá°áá¨á á˘áá˛áá áááľááᣠáá áááľá á¨áá˝á áľá áĽáť ááá˘
- áľá á áŽáľ ááĽáĽ áááľ ááᢠUCS-4
- á¨áá°áĽá°á˘áŤ á áŤá á¨" " ááĽááľ á¨áŠááŽáľ ááĽáŚá˝ á á˛áľ áľá áááááŁáá˘
á¨ááĽá°áśáš áľáá˝ á¨á°áááš á áá áľááááááš ááĽá°áśá˝ ááááá. á áá á á áľáá -áŤááą áŹážáá˝ áĽáť áľáááᣠááĽá°áśáš á¨ááá°ááľ á ááá á á°á á°á¨á°á áľáá˝ ááᢠ"ááá" ááĽá°áśá˝ á ááááŞáŤ á°áááá¨áá, á¨ááŤá "á¨áŁáľ" ááĽá°áśá˝. áááľáłááľ áŤá áᣠáĽáŤááłááą á¨áŠááŽáľ ááá á áŤáľ á¨á°ááŤáŠ ááĽá°áśá˝ á°á°áĽáˇáᢠáĽáá áĽááą á á ááľ á¨áłáá á á°á á°á¨á°á á°á áááá. á ááľá ááłáĽáŁ ááááá á°ááłááłá áľá á á áŤáąá á°á¨ááá˝ áá á á áá˝ááᣠááá áá á áľá°áŤá¨áśáš áĽáá°ááŤááááąáľ ááá˘ááš áľáášá á á áĽááŻá á°á¨á á á°á¨á áááŤáá˘
% Symbolic weight assignments
% Third-level weight assignments
<RES-1>
<BLK>
<MIN>
<WIDE>
...
% Second-level weight assignments
<BASE>
<LOWLINE> % COMBINING LOW LINE
<PSILI> % COMBINING COMMA ABOVE
<DASIA> % COMBINING REVERSED COMMA ABOVE
...
% First-level weight assignments
<S0009> % HORIZONTAL TABULATION
<S000A> % LINE FEED
<S000B> % VERTICAL TABULATION
...
<S0434> % CYRILLIC SMALL LETTER DE
<S0501> % CYRILLIC SMALL LETTER KOMI DE
<S0452> % CYRILLIC SMALL LETTER DJE
<S0503> % CYRILLIC SMALL LETTER KOMI DJE
<S0453> % CYRILLIC SMALL LETTER GJE
<S0499> % CYRILLIC SMALL LETTER ZE WITH DESCENDER
<S0435> % CYRILLIC SMALL LETTER IE
<S04D7> % CYRILLIC SMALL LETTER IE WITH BREVE
<S0454> % CYRILLIC SMALL LETTER UKRAINIAN IE
<S0436> % CYRILLIC SMALL LETTER ZHE
á áá¨á¨áťá áľááááá á¨ááĽá°áľ á á¨á´á.
á¨ááĽá°áľ ááá á ááá áá ááľááŽá˝ ááľáĽ á°áááˇá ááá_ááá и áľáĽáá_áá¨á¨áť. á°á¨á᪠á ááŤáŽá˝ ááá_ááá á áĽáŤááłááą á¨áá á á á°á¨á á á¨áľáá á á áŁáŤ á¨áľáá˝ áĽáá°ááá áááľá. ááŁáŞá á ááĽá ááᢠáá°ááľ. á¨ááá á áŤá á¨ááá áŽáľ áĽá á áŤáľ ááĽá°áśášá á¨áŤá ááľááŽá˝á áŤáŤáľáłá. á¨ááá áŽáľ á áááá á áŤáąáŁ á áŽáľ ááĽáĽ ááá áá°á á˛á á á°ááá¸á ááłááŤá áľá ááá¨á áá˝ááᢠááĽá°áśá˝ áá°ááłááłá áľáá˝áŁ á¨áŽáľ ááĽáŚá˝ ááá ááááśáš áĽáŤáłá¸á áá°áĄ áá˝ááᢠá¨áŽáľ ááĽáŚá˝ ááá ááááá˝ áĽá á áá á¨áá, ááĽá°áłá¸á á¨áŽáľ ááĽáĄ á¨ááĽá áĽá´áľ (á áŠááŽáľ á°áá á¨áĽ ááľáĽ áŤáá áŚáł) áá á°ááłáłá áá. á ááá˝ áŤááá ááááá˝ (áĽáá°áá¨áłá) á áŠááŽáľ á áá á¨áĽ ááľáĽ áŤáá á áááἠáá á¨ááááľ ááłá ááĽá°áľ áá á¨á´áá áĽáá°á°áá°áĄ ááá áŤáᢠáአá¨ááĽá°áľ áá á¸á áá á á á°ááŁáŁá á¨áá á á á°á¨á á¨á°á°á á áḠáŁá ᪠á˝á ááŁáá áááľ áá.
á¨ááĽá°áśá˝á á áááá áááłá¨áľ áśáľáľ ááá˝ á¨áá áááĽáŤáŽá˝á áááŤáá-
- áá á áá á˝á á¨á°áŁá ááááá˝
- á ááááŞáŤááš áááľ á°á¨ááá˝ ááľáĽ á¨áśáľáľ ááĽá áá áĽáŠá á¨áá ááááá˝
- á¨áłááŞáá áá°ááľ ááááŞáŤ ᣠá˛áŤááŞáŽá˝á á ááŤáá ᣠáĽá áľáááá á áááááľ á ááááŞáŤ áĽá á áŚáľá°áá á°á¨ááá˝ ááá°áŁá á˘
order_start forward;forward;forward;forward,position
<U0000> IGNORE;IGNORE;IGNORE;IGNORE % NULL (in 6429)
<U0001> IGNORE;IGNORE;IGNORE;IGNORE % START OF HEADING (in 6429)
<U0002> IGNORE;IGNORE;IGNORE;IGNORE % START OF TEXT (in 6429)
...
<U0033> <S0033>;<BASE>;<MIN>;<U0033> % DIGIT THREE
<UFF13> <S0033>;<BASE>;<WIDE>;<UFF13> % FULLWIDTH DIGIT THREE
<U2476> <S0033>;<BASE>;<COMPAT>;<U2476> % PARENTHESIZED DIGIT THREE
<U248A> <S0033>;<BASE>;<COMPAT>;<U248A> % DIGIT THREE FULL STOP
<U1D7D1> <S0033>;<BASE>;<FONT>;<U1D7D1> % MATHEMATICAL BOLD DIGIT THREE
...
<U0430> <S0430>;<BASE>;<MIN>;<U0430> % CYRILLIC SMALL LETTER A
<U0410> <S0430>;<BASE>;<CAP>;<U0410> % CYRILLIC CAPITAL LETTER A
<U04D1> <S04D1>;<BASE>;<MIN>;<U04D1> % CYRILLIC SMALL LETTER A WITH BREVE
<U0430_0306> <S04D1>;<BASE>;<MIN>;<U04D1> % CYRILLIC SMALL LETTER A WITH BREVE
...
<U0431> <S0431>;<BASE>;<MIN>;<U0431> % CYRILLIC SMALL LETTER BE
<U0411> <S0431>;<BASE>;<CAP>;<U0411> % CYRILLIC CAPITAL LETTER BE
<U0432> <S0432>;<BASE>;<MIN>;<U0432> % CYRILLIC SMALL LETTER VE
<U0412> <S0432>;<BASE>;<CAP>;<U0412> % CYRILLIC CAPITAL LETTER VE
...
order_end
á áá á¨á˝áá ááááŞáŤ áá ááłááá˝á áá° áá°áá°á ááááľ áá˝áá. áľáĽá á áá á¨ááĽá°áľ á á¨á´áá ááá ááľáĽ áááá-
<U0020> IGNORE;IGNORE;IGNORE;<U0020> % SPACE
<U0021> IGNORE;IGNORE;IGNORE;<U0021> % EXCLAMATION MARK
<U0022> IGNORE;IGNORE;IGNORE;<U0022> % QUOTATION MARK
...
á áá á°áá á¨áĽ ááľáĽ á¨á á¨á´áá áá á¨áľááá°-ááĽáĽ ááááśá˝á áá¨áľ ááťáá á áľáŞ ááĽá¨ááááá˝á á˛áŤááłáľáŠ (áŚáłá á¨ááŽ) áááá áááľ ááťáá á˝á ááŁááᢠáአáááłáá˝ á á°ááá áŚáłáá˝ áá á¨áá¨á°áąáľ áĽááá°-ááĽáĽ ááááśá˝ á áľá°áá á ááá ááá á¨ááŁáŁá ááĽá¨ááááá˝ áá¸áᢠá¨áá á á áľáá° ááá á¨áĽá ááłá (á¨á°á°á¨á°áŠ á áá) ááľááŽá˝ áá á áááľááá˘
ĐйаканОвĐиŃ
аиНПаНŃŃ
ĐНкинаĐННакŃанОвŃиŃĐ°
ĐванОваĐННаПаНŃŃ
ĐванОвĐндŃоКŃНоŃĐ°ŃŃ
á ááĽá°áľ á áá á¨áĽ ááľáĽ á áŠá˛áŤá á á˘á áááŤáľ á¨áľáá˝ áááŤáľ á áá áááŁá (á áśáľá°á á°á¨á á¨á áá á¨áŁáľ ), áá°áá°á áášá áľááá áááľááá˘
á°áááá á˛áŤáááĽáŠ LC_COLLATE=C áŁááľ áŁááľ áá˝á˝áá á¨áááá˝ áአá°áá á¨áĽ á°ááá
static const uint32_t collseqwc[] =
{
8, 1, 8, 0x0, 0xff,
/* 1st-level table */
6 * sizeof (uint32_t),
/* 2nd-level table */
7 * sizeof (uint32_t),
/* 3rd-level table */
L'x00', L'x01', L'x02', L'x03', L'x04', L'x05', L'x06', L'x07',
L'x08', L'x09', L'x0a', L'x0b', L'x0c', L'x0d', L'x0e', L'x0f',
...
L'xf8', L'xf9', L'xfa', L'xfb', L'xfc', L'xfd', L'xfe', L'xff'
};
á¨áŠááŽáľ ááĽáĽ РᨠA á ááľ áľááááŁáŁ áááśášá á áá áá°á¨áľ áá°á¨á°áŤáá˘
á¨á˝áá áĽá áááľáŽá˝ á áá á¨áŚá˝
á ááá˝ ááá¨áľ áĽáá°ááťáá á¨ááĽá¨ááá áá˝á˝á áĽá á á áŁá á¨á°ááá° ááá ááᣠáĽá á á¨á´áá áá°áá°á CTT á áŁá ááľ á¨áá á á°áŤá. á¨á áá á¨áĄá á°á°áŤá˝ááľ ááááťá¸áľ á¨áľáĽáá áá áá° áááľáŽá˝ ááá áá áááá localdef.
áĄáľá localdef á¨áĽááŤá áŁá áŞáŤáľ á°áá á¨áĽ áŤáá ááá áĽáá° áááŞáŤáá˝ ááá áá (á ááŤá -i)ᣠááá ááááá˝ á áŠááŽáľ ááĽáŚá˝ á¨ááá¨áá áľáŁ áĽá á¨áŠááŽáľ ááĽáĽ áŤááł ááá áá°áá°á á˘ááŽá˛áá ááááá˝ (á ááŤá) -f). á áľáŤá ááááŤáľ, á áá¨á¨áťá áá¤áľ ááľáĽ á¨á°á áá°á áľá áá, áá áŤáŁá˘á áááľáŽá˝ áááá˝ ááá áŤá.
áááĽá áááľ áááľáŽá˝ á¨ááá á áá¸áśá˝á áá°áááᥠ"áŁá áá" áĽá "áááá"á˘
á°áááˇáá á áá¸áľ á¨á áŤáŁá˘ áľá á ááľáĽ áááľ áá፠áľá áááá áŤááááłá /usr/lib/á áŤáŁá˘/. áá áááľ áá፠áááľáŽážá˝á ááá LC_COLLATE, LC_CTYPE, LC_TIME áĽáá áááĽáá. ááá LC_IDENTIFICATION áá°á ááá á¨á áŤáŁá˘ áľá (á¨áááŤá áľá á¨á°áᨠááá áá˝áá) áĽá á áľá°áŤá¨áśá˝á ááá.
ááááá á áá¸áľ áááá á á¨áŁá˘áá˝ á á ááľ áá á°á ááľáĽ áá¨áá¸áľá áŤáŤáľáłá /usr/lib/locale/locale-archive, áá á á áá áá ááá áá°áśá˝ áááŁá áľááľáł áá áŤááł áá ááŁ. á ááááá á áááľ ááľáĽ áŤáá á¨á áŤáŁá˘ áľá á ááłááľ ááááá˝á áŤáŤááłá - ááĽáŽá˝ áĽá áá°áá˝ áá° áľááá˝ áá°áá˝ á¨á°áááą ááĽáŽá˝ áĽáť á ááľá áŤá áľá áááŤáᢠáľááá en_RU.KOI8-R, áĽáá° ááľáá ru_RU.koi8r.
á¨áá¤áľ áááá˝ á áá áŁáá áá፠ááľáĽáŁ áĽáá˛áá á áááŤáá˝ ááľáĽ áááááᢠ/usr/share/i18n/á áŤáŁá˘áá˝/ и /usr/share/i18n/charmaps/ ááááá˝ CTT áĽá áááá˝á áĽáá°á á°á á°á¨á°á.
áááłá, áľááá
localedef -i ru_RU -f MAC-CYRILLIC ru_RU.MAC-CYRILLIC
áááá áŤá áá áŤá /usr/share/i18n/locales/ru_RU á˘ááŽá˛áá áááá á áá áá /usr/share/i18n/charmaps/MAC-CYRILLIC.gz áĽá áá¤áąá áŤáľááᥠ/usr/lib/locale/locale-archive á áľá áľá en_RU.áá˛áŞáá
á°áááá áŤááá LANG = en_US.UTF-8 áŤáá áᣠá áá¨á°áá á¨áááá˝ áĽá áááŤáá˝ á á°á á°á¨á°á á¨á áŤáŁá˘ áááľáŽážá˝á áááááá˘
/usr/lib/locale/locale-archive
/usr/lib/locale/en_US.UTF-8/
/usr/lib/locale/en_US/
/usr/lib/locale/enUTF-8/
/usr/lib/locale/en/
á ááľ á á¨áŁá˘ á áááąá áŁá áá áĽá áááá á áááśá˝ ááľáĽ á¨á°áá á¨, ááááá á áľá፠á¨áá°á á áá.
á áľáĽáá á¨á°á ááአá á¨áŁá˘áá˝á áááá áá¨áľ áá˝áá á¨á áŤáŁá˘-á.
á¨áá á á á á¨á´ááá á áááááľ áá
á ááᣠá áĽáááľ á¨áłá áᣠá¨áĽáŤáľáá ááłáŁá á¨ááĽá¨ááá áá˝á˝á á á¨á´á ááá á áá˝ááᢠáá á áá á¨áĽ Đá á¨áᎠá¨áŠáľáŤ áá°ááľá á áľááá áááłá°á á áá áľ áĽá á á°ááłáłá áá á á áá á¨áĄ áá á¨áľ áĽááá°-ááĽáĽ ááááśá˝á áááľ ááľáĽ ááľááŁáľ á áá áľ. á áľáŞ.
á¨áĽááľáá á¨áá°áá°á á°áá á¨áĽ á¨áááááľ áá°áľ áááľ á°á¨ááá˝á áŤáá áá-á¨ááĽá°áľ á áá á¨áĽá ááľá°áŤá¨á áĽá á áľáĽáá áá° áááľáŽá˝ áá ááá localdef.
á¨áá˝á˝á á á¨á´áá á áľááš á¨á ááľááľ ááŞáá˝ áĽáá˛áľá°áŤá¨á, á á áá¸áľ á áá¤áľáŚ 14652 á¨ááŁá á áá á¨áĽá ááĽá°áľ áááľá°áŤá¨á áááá˝ á°á°áĽá°ááᢠááá á ááá áá ááááŤá áĽáá°áá ááá-á áá áĽá á°á°áŞá á¨áá¨áááá áľá áŚáł á áááá˝. áááá á ááľáá áŤá áá áĽáá°áá ááá-áá¨á¨áť. á¨á áá á¨áĄá á ááŤáł áááá˝ áá¨á á áľááá á¨áá ááĽáŤááłááą áĽáá°áá á áááľ ááá á ááľ ááá ááá áŤá.
á á˛áśášá á¨áááášá áľáŞáśá˝ áááĽáŤááᢠiso14651_t1_á¨á፠и ru_RU á¨áá¨ááťá áᣠáá° á¤áľá áá፠~/.local/share/i18n/locales/ áĽá áááá á áľááš á ááľááľ LC_COLLATE в ru_RU. á á˛áśáš á¨áááá˝ áľáŞáśá˝ á¨áĽá áľáŞáľ áá áá á áá á°áłáá áá¸áᢠááŁ. á¨áአá¨ááá áľáŞáśá˝á ááá áá á¨ááá á á áá á¨áĄ ááľáĽ á°ááłááłá áľáá˝á áĽá áá°áŤáľ á¨ááááá áľá áŚáł ááá¨á á ááĽááľ.
LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
reorder-after <U000D>
<U0020> <S0020>;<BASE>;<MIN>;<U0020> % SPACE
<U0021> <S0021>;<BASE>;<MIN>;<U0021> % EXCLAMATION MARK
<U0022> <S0022>;<BASE>;<MIN>;<U0022> % QUOTATION MARK
...
<U007D> <S007D>;<BASE>;<MIN>;<U007D> % RIGHT CURLY BRACKET
<U007E> <S007E>;<BASE>;<MIN>;<U007E> % TILDE
reorder-end
END LC_COLLATE
áĽáá° áĽáááą á¨áá, ááľáŽá˝á ááá¨á á áľááá áááá LC_IDENTIFICATION áá° á áŤáŁá˘á áĽáá˛á áá en_MY, áá á áĽá ááłá áá á áŤáľáááá áá á, ááááŤáąá áá á°áŠá á¨á áŤáŁá˘áá˝ ááá áľááááአá¨á áŤáŁá˘-áááἠá¤áľ.
፠localdef á á°áááá á áŠá á á ááᏠááľáĽ áŤá áááá˝ áá á°ááˇáᢠI18NPATH á¨áá¤áľ áááá˝á ááááá á°á¨á᪠áá፠áá¨á áá˝áá ᣠáĽá áááľáŽá˝áá˝á áááľááἠáááŤá á¨ááĽááŚáá˝ áá áĽáá° ááááľ áááá áá˝áá á˘
$> I18NPATH=~/.local/share/i18n localedef -i ru_RU -f UTF-8 ~/.local/lib/locale/ru_MY.UTF-8
POSIX ááľáĽ áááá áá ááá ááá á¨á áŤáŁá˘áŤá áááá˝ áá ááá áąáŤáá˝á áá° áááŤáá˝ ááťá áľá˝ááá ᣠáá°ááľ slash áááŽáŁ ááá áá áᣠв ááááľ ááá áąáŤáá˝ á¨áá á¨áłá áá፠ááľáĽ á°ááĽá¨áá, áá á á á°áááá ááťá áá˝áá LOCPATH. á¨á°áŤá á áá LOCPATH=~/.local/lib/locale/ á¨áľááá áá á¨á°áŤáŤá ááá áááá˝ á¨áááááľ á áĽá á áá ááľáĽ áĽáť ááᢠá°áááá á˛ááá á¨á áŤáŁá˘ áá á°á LOCPATH á˝á á°áĽáá.
á¨áá¨á¨áťá áá°á áĽáááĄ-
$> LANG=ru_MY.UTF-8 LOCPATH=~/.local/lib/locale/ sort buhg.txt
ĐйаканОв ĐиŃ
аиН;ПаНŃŃ
ĐНкина ĐННа;ĐşŃанОвŃиŃĐ°
ĐванОв ĐндŃоК;ŃНоŃĐ°ŃŃ
ĐванОва ĐННа;адвОкаŃ
ááŹ! á á°á¨ááá!
á áŤáŤá áá áľá á°áľ
ááĽá¨ááááá˝á áá°áá°áá á á°ááá¨á° ááááąáľ áĽáŤááá˝ áá°á á˛á áááľ á°áĽáťá¸ááááŁá ááááŞáŤ áá á¨á°áááĄáľáŁááá áá á ááá áľááľá á°áśá˝ áááľ áĽáŤááá˝ á á - á¨ááłáŠ áĽá á¨áááłáŠá˘
áá° ááá á˝áá áĽááááľá˘
áĽá ááŽááŤá ááááľ áĽá ááŽááŤá ááááá á°ááłáłá á¨ááĽá¨ááá áá˝á˝á á°ááŁáŤáľá ᨠáá áá ááŁ. ፠áĽáá´áľ áá ááááá á áľáĽáá á á°á°á¨á°áŠ ááľááŽá˝ áá á¨áá°áá°á áľá á°áľ á°á ááááľ á á áŤáŁá˘á en_US.UTF-8? áááą ááá ááᢠááááľ áááá ááĽá¨ááá áŤááłáľáŤá, áĽá ááááá áááá áĽáť áŤááłáľáŤáᣠáĽáąá á ááŁáŞááľ á¨ááĽá¨áááá ááááŞáŤ áĽáľá¨ ááááŞáŤá áá áŚáł ááá ââááᢠá áĽá ááłá áá á¨áľá á°áľ áááĽááľ á áľá¨áľáá ááááŤáąá á ááľááŽáš ááľáĽ á¨ááááŞáŤááš áááľ áá°áá°á áá ááľááŽá˝á á¨áá°áá°á áá á ááááľáá˘
á áŤáŁá˘áŤá "á" á á°á°á¨á°áŠáľ ááĽá¨ááááá˝ ááľáĽáŁ áĽáľá¨ ááááŞáŤá áŚáł áŤááľ á᪠ááĄáľ ááĽá¨ááááá˝ áĽáá°áá°á¨á°áŠ ááľáľá áá°áŁáᣠááá áá áá áľá á°áąá á¨áá¸ááá áĽáť ááᢠáĽáá°ááá áŤá áá¨ááá˝á (á°ááłáłá áľáá˝ áŤáá¸á á°áá˝, áá á¨á°ááŤáŠ áľáá˝) áááłáľ ááťáá, áá á áŤá á¨áľá á°áľ áááĽááľ, áááá˝á á ááááľ á¨á°áłáłá° áá¤áľ áŤáľááá. á¨áááá ááááá á¨á°áŁáአá¨ááá ááľááŽá˝á á áá áľáᣠáŤá áľááááá ááááľ á¨ááľá áááŤáá á ááá ááá¨áľ áĽá á ááá ááľá áá°áá°á áĽáá á á á ááá ááľáá á áá°ááᢠá áá áááł, áá á°áą á áľááá áá°áŤá áĽá á ááááá á áŤáŁá˘ ááľáĽ ááá áľá á°áśá˝ á áááŠá.
$> sort -t ; -k 1 buhg.txt > buhg.srt
$> sort -t ; -k 1 mail.txt > mail.srt
$> join -t ; buhg.srt mail.srt > result
áŽáľ á¨á°á°á¨á ááłá á á°áłáŤ áááł á°áá˝áá CP1251 áá áľá á°áľ áááᢠáĽáááłá á áĽá á¨ááłáá á ááá áľáááśá˝ ááľáĽ áá ááááľ á¨á°á ááᨠá áŤáŁá˘ á áá°ááᢠen_RU.CP1251. á¨á°á ááá¨á á áŤáŁá˘ áŤáá°áá, á¨á፠ááááľ á á¸áĽáł áŁááľ áŁááľ áá˝á˝áá áá áááᣠ፠á¨á°ááá¨áľáá ááá˘
á áááŤá˝á áá, á¨á°ááá á á¨áŁá˘áá˝ á°á°áŤá˝ á áááá áá á¨á°áŤáŤá áá áľáá˝ áĽáá˝áľ á á. áĄáľá LOCPATH=/tmp á áŤáŁá˘ -a á¨ááá á á¨áŁá˘áá˝ áááá ááááłá á¨á áŤáŁá˘-áááἠá¤áľ, ááá áá á¨á°áááá áľáĽáľáĽ áá LOCPATH áááá ááŽááŤáá˝ (á áĽááášá á¨ááŽ) á áŤáŁá˘áŤá) áĽááá á áŤáŁá˘áá˝ á ááááá˘
$> LOCPATH=/tmp locale -a | grep en_US
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
$> LC_COLLATE=en_US.UTF-8 sort --debug
sort: using âen_US.UTF-8â sorting rules
$> LOCPATH=/tmp LC_COLLATE=en_US.UTF-8 sort --debug
sort: using simple byte comparison
áá°áá°ááŤ
ááĽá¨ááááá˝ á¨áŁááľ áľáĽáľáĽ áá¸á áĽá ááá°áĽ á¨áááą ááŽááŤáá á¨ááá áááŤá ááᢠLC_COLLATE=C.
á¨ááá áá ááá áááá áááľ á áááŁáŞ á¨ááá á¨á áŤáŁá˘á á áĽáłá áá á ááťáááá˘
ááá á°á áá á¨ááá áľáĽááá á áľááá áá áá á ááĽá ls-a á á°áĽáłá¤ á¨áááአáááá˝á á ááĽáĽ á¨á°á ááá áááá˝á áŤáľáá áĽá á¨áĽáŠá áááľ á ááĽáľáá˝á ááá°áá°á á¨ááľáĽ á°ááŁáŤáśášá á¨áá áá áááá˝á á ááĽáĽ ááᎠáá° áááአááľ áŤáááłá áłáá˘
ááŁááťáá˝
ááá: hab.com