Регулярные выражения - не лучший инструмент для такой работы. Я бы сделал что-то вроде:
perl -CLASD -lne '
BEGIN{$l0{$_}++ for (split "", shift)}
%l = %l0; for (split "") {next LINE unless $l{$_}--}
print' aacrt < /usr/share/dict/words
Или, поскольку (по крайней мере, во французском и английском и некоторых других языках, использующих латинский алфавит) в scrabble есть только 26 заглавных букв от A до Z (été пишется как ETE, cœur как COEUR), с помощью GNU iconv
:
iconv -t us//TRANSLIT < /usr/share/dict/words |
perl -CLASD -lne '
BEGIN{$l0{$_}++ for (split "", uc shift)}
%l = %l0; for (split "", uc $_) {next LINE unless $l{$_}--}
print' croeu
Или для вывода в исходном виде:
perl -CLASD -MText::Unidecode -lne '
BEGIN{$l0{$_}++ for (split "", uc shift)}
%l = %l0; for (split "", uc unidecode $_) {next LINE unless $l{$_}--}
print' croeu < /usr/share/dict/word
Хорошо, у меня все получилось. Спасибо Rubber Stamp за предоставленную ссылку, которая дала мне след. Я не уверен, что вызвало эту проблему, потому что обычная функциональность SSH оставалась пригодной для использования.
В итоге я запустил встроенную отладку с моей обычной командой монтирования:
sudo sshfs -o allow_other -d -o debug pi@xxx.xx.xx.xxx:../../mnt/ceresPi2/
И предложил бежать:
sudo ssh-keygen -f "/root/.ssh/known_hosts" -R "172.16.89.189"
Что устранило проблему. Я получил это предложение с обычным SSH в прошлом. Обычно после переустановки raspbian. Что странно, так это то, что мои известные хосты были приняты, когда я просто запускал обычный ssh на тот же хост.
Эту часть я до сих пор не понимаю.