список файлов с похожими именами, отсортированный по сходству [закрыто]

Вы не можете использовать:

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);/'

1
19.07.2016, 16:47
2 ответа

Это, конечно, возможно, хотя и не очень популярно.

Я никогда не пользовался этим инструментом, но знаю, что нужно искать; возможно, вы захотите попробовать fzf.

В общем, то, что вам нужно, это так называемый "нечеткий поиск", название происходит от нечеткой логики. Вы знаете более или менее, что вам нужно. Часть "более или менее" делает его нечетким.

Я бы на вашем месте попробовал fzf, но рассмотрел бы и другие варианты:

  • Если вы сами создали файл и знаете, как он начинается, вы можете использовать завершение вкладки, чтобы найти его (начните вводить имя файла, а затем нажмите вкладку, чтобы автозаполнить/просмотреть возможные варианты).
  • Если вы не знаете имени файла, но знаете некоторые другие данные (размер, дату создания и т.д.), вы можете искать по этим квантификаторам.
1
27.01.2020, 23:19

С помощью 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 сортировка по имени его аргументов).

3
27.01.2020, 23:19

Теги

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