Как правильно отображать польские диакритические символы в гроффе?

Один из способов перемешивания с различной интенсивностью может заключаться в том, чтобы взять отсортированный список и произвести переменное количество случайных перестановок (следя за тем, чтобы элементы не перемещались более одного раза).

shuffle() {
  awk -v n="$1" '
    {line[NR]=$0; i[NR] = NR}
    END{
      if (n > NR/2) {
        print "two many permutations"
        exit(1)
      }
      srand()
      for (x = 1; x <= NR; x++) {
        # shuffle the list of indicies
        y = int(rand() * NR) + 1
        tmp = i[x]; i[x] = i[y]; i[y] = tmp
      }
      for (x = 1; x <= n; x++) {
        # get the lines to permute from the head of the shuffled
        # list of indices
        y = i[x*2-1]; z = i[x*2]
        tmp = line[y]; line[y] = line[z]; line[z] = tmp
      }
      for (x = 1; x <= NR; x++) print line[x]
    }'
}

$ seq 10 | shuffle 0 | paste -sd , -
1,2,3,4,5,6,7,8,9,10
$ seq 10 | shuffle 1 | paste -sd , -
1,2,6,4,5,3,7,8,9,10
$ seq 10 | shuffle 5 | paste -sd , -
9,6,5,10,3,2,8,7,1,4

shuffle 5 гарантирует, что ни один из элементов не сохранит свою исходную позицию (shuffle n гарантирует, что 2 * n элементов получат другое положение). Есть некоторые перетасовки, которых он никогда не достигнет. Например, для списка 1,2,3 единственными возможными результатами являются 2,1,3 , 3,2,1 и 1,3,2 . Not 3,1,2

При случайном порядке 5 вы также можете получить 6,7,8,9,10,1,2,3,4, 5 , который, возможно, не очень перемешан.

7
07.12.2018, 18:19
2 ответа

Символ A0— неразрывный пробел. Похоже, что-то среднее между «Jakieś» и «informacje». Используйте свой редактор, чтобы заменить его на обычный пробел, и все будет хорошо.

Совет :Я настроил свои редакторы (emacs, vim )для выделения неразрывных пробелов, потому что иногда я непреднамеренно набираю некоторые с AltGr + пробел , когда Я нажал пробел после ввода символа, требующего нажатия AltGr .

Предупреждения после вашего первого предположения, кажется, показывают, что некоторые символы (ę, ś, ż... )закодированы с комбинацией диакритических знаков, а не изначально. Например. ę == e (hex 65 )+ сочетание огонек (hex 328 ), а не "e с огонеком" (hex 119 ). Как вы редактируете исходный файл? Вы можете использовать клавишу Compose для создания «автономных» букв -с диакритическими знаками -, например. Составьтеe , для "ę".

2
27.01.2020, 20:19

Проблема может быть связана с устаревшей версией groff.

См. по этой ссылке .

0
27.01.2020, 20:19

Теги

Похожие вопросы