Вы не можете использовать:
s/\
/
для сопоставления новой строки в пространстве шаблонов в форме s / pattern / replacement /
. Интерпретация этого шаблона зависит от реализаций. И GNU sed, и BSD sed рассматривают его как буквальную новую строку, но BSD sed не принимает , а вызовет ошибку .
Как правило, вы не можете сопоставить новую строку в конце строки ввода, но вы можете использовать \ n
, чтобы сопоставить новую строку, появившуюся в пространстве шаблонов в результате команды N
.
Правильный путь, POSIXLY:
sed 'a\
text += num.toString(16);
'
или:
sed 's/$/\
text += num.toString(16);/'
Это, конечно, возможно, хотя и не очень популярно.
Я никогда не пользовался этим инструментом, но знаю, что нужно искать; возможно, вы захотите попробовать fzf
.
В общем, то, что вам нужно, это так называемый "нечеткий поиск", название происходит от нечеткой логики. Вы знаете более или менее, что вам нужно. Часть "более или менее" делает его нечетким.
Я бы на вашем месте попробовал fzf
, но рассмотрел бы и другие варианты:
С помощью zsh
:
setopt extendedglob # best in ~/.zshrc
ls -ld -- (#ia1)hello # case-insensitive, allow one error
ls -ld -- (#ia2)hello # case-insensitive, allow up to two errors.
Рекурсивно искать скрытые файлы (и в скрытых каталогах) также ((D)
):
ls -ld -- /**/(#ia2)hello(D)
(обратите внимание, что он не делает никакой сортировки по сходству, только ls
сортировка по имени его аргументов).