Я не знаю ни о ком. И я думаю, что это не настолько легко возможно, потому что более новые пакеты программного обеспечения могли бы зависеть от более новых системных пакетов.
Я знаю, что это не действительно, что Вы хотите, но это - то, что я сделал бы: можно пойти с Debian, стабильным для устойчивости, и установить только более новые версии определенных пакетов, в которых Вы нуждаетесь. Можно установить их из источника или добавить репозиторий тестирования / нестабильный репозиторий и использовать способное прикрепление. Но будьте осторожны со смешиванием репозиториев, оно могло бы уменьшить устойчивость системы.
Каждый символ три байта шириной, как показано в этом xxd
вывод:
$ xxd chinese-bytes
0000000: e6b4 9ee5 baad e6b9 96 .........
split -b3
работы для меня.
$ split -b3 chinese-bytes
$ echo xa?
xaa xab xac
$ cat xaa; echo
洞
$ cat xab; echo
庭
$ cat xac; echo
湖
Насколько я знаю, все китайские символы 3 байта длиной при кодировании в UTF-8, нормальном кодировании Unicode на Unix. Но некитайские символы, такие как пробелы и новые строки могут быть другой шириной (основные управляющие символы, а также арабские формы цифры и другие, единственный широкий байт). split
утилита только понимает постоянные числа байтов, таким образом, она сократит без разбора неровно.
Необходимо будет использовать более сложный инструмент для разделения каждых 42 символов. Вот отрывок Perl, который должен добиться цели (непротестированный). Обратите внимание, что это - обработки каждый символ одинаково: китайские счетчики символов для 1, новая строка - также.
perl -CDS -e '
$n = 0;
while (read STDIN, $buf, 42) {
open OUT, sprintf("> output-$n.txt") or die;
print OUT $buf;
close OUT or die;
++$n;
}'
cat chinese-bytes chinese-bytes > tst2; split -b3 tst2
=> мусор) – michael 30.12.2017, 14:55