Отредактировано: добавлены install и demo
Необходимо позаботиться хотя бы о некоторых крайних случаях, таких как
The the apple
. ( ( a + b) + c )
(повторяющиеся открывающие скобки. тезис
В целом я рекомендую pcregrep
решение:
pcregrep -Min --color=auto '\b([^[:space:]]+)[[:space:]]+\1\b' file
Очевидно, что цвет и номер строки (опция n
) необязательны, но обычно приятны.
В дистрибутивах на базе Debian вы можете установить через:
$ sudo apt-get install pcregrep
Выполните команду на jefferson_typo. txt
, чтобы увидеть:
$ pcregrep -Min --color=auto '\b([^[:space:]]+)[[:space:]]+\1\b' jefferson_typo.txt
1:He has has refused his Assent to Laws, the most wholesome and necessary
3:He has forbidden his Governors to pass Laws of immediate and
and pressing importance, unless suspended in their operation till his
5:Assent should be be obtained; and when so suspended, he has utterly
Выше просто захват текста, но на терминале с поддержкой цвета совпадения окрашиваются:
Итак, на момент написания статьи вы блестяще сузили свою проблему до grub-mkconfig
и задаетесь вопросом, как ее отладить.
grub-mkconfig
- это сценарий оболочки, который в основном создает ваш конфигурационный файл grub.cfg
, выполняя каждый сценарий в /etc/grub.d
. В начале set -e
есть команда grub-mkconfig
, означающая "остановитесь на первой неуправляемой ошибке, с которой вы столкнулись". Скорее всего, ваша проблема связана с ошибкой одного из скриптов grub.d.
Сначала давайте определим виновника. Run:
dash -vx grub-mkconfig -o /boot/grub/grub.cfg
dash
, интерпретатор Bourne Shell, который, скорее всего, привязан к /bin/sh
, будет выводить каждую строку, которую он выполняет. Поскольку сценарий, вероятно, не работает из-за команды set -e
, последняя строка, скорее всего, будет подскриптом grub.d, который не работает. Я предполагаю, что вы получите что-то вроде:
+ echo ### BEGIN /etc/grub.d/99_buggy_script ###
+ /etc/grub.d/99_buggy_script
Само название скрипта, вероятно, не даст вам достаточно доказательств того, что происходит. Поскольку это также сценарий Bourne shell, вы можете отлаживать его тем же способом. Измените первую строку скрипта grub.d с
#!/bin/sh
на:
#!/bin/sh -vx
И запустите grub-mkconfig -o /boot/grub/grub.cfg
(dash -vx
больше не нужен). Трассировку вы получите из скрипта grub.d.
Надеюсь, теперь проблема будет очевидна. Как только вы ее устраните, не забудьте убрать флаги -vx
в начале подскрипта grub.d.
Я читал, что вы должны установить grub
на все жесткие диски, принадлежащие рейду. Поскольку вы заменили неисправный жесткий диск, вы можете проверить это, запустив:
dpkg-reconfigure grub-pc
при входе в раздел Установочные устройства GRUB
, вы можете увидеть, какие устройства отмечены звездочкой *
, а какие не являются, и вы можете пометить их, используя курсор и клавишу / клавиши пробела. (Все основные устройства / dev / sda
, / dev / sdb
, / dev / sdc
и т. Д. Должны быть помечены)
По завершении этого шага необходимо переустановить grub и привести все в норму.