Как сохранить отметки в less для последующего доступа?

Используйте флаг Perl i для редактирования на месте:

$ perl -pi -e '$_ = "" if m{^\\\\}' file.txt

А если вы хотите передать вывод find, используйте xargs:

$ find . -type f | xargs perl -pi -e '$_ = "" if m{^\\\\}'

При использовании инструкции find -exec:

$ find . -type f -exec perl -pi -e '$_ = "" if m{^\\\\}' {} \;

3
27.07.2018, 12:57
1 ответ

Нет в той версии less, которую я смотрел. Другая проблема заключается в том, что manможет записывать во временные файлы, так как же метки совпадут между /tmp/man.sLCaUQkJ3kи /tmp/man.yuvNSUrFZo, даже если они сохранялись?

Мы можем немного схитрить и использовать vim, который имеет подходящие метки сохранения конфигурации для будущего использования, а также использовать одно и то же имя файла для каждой страницы man. Обратите внимание, что системный -временный каталог, скорее всего, будет очень плохим местом для размещения статических имен файлов, если только вы не хотите создавать новые CVE.

function mman {
   man "$1" | col -bx > "$HOME/tmp/man.$1"
   vim -R "$HOME/tmp/man.$1"
   #rm "$HOME/tmp/man.$1"
}

Сгенерированную страницу можно было удалить немедленно,или, может быть, работа cron очищает их. Другая проблема заключается в том, что имена разделов man или другие аргументы для manне поддерживаются, поэтому этот код, вероятно, должен быть сложным для обработки man 3 randтак же, как man rand(, хотя эти два могут не совпадать в зависимости от вашей системы. и не мешает ли справочная страница OpenSSL rand).

0
27.01.2020, 21:33

Теги

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