Используйте флаг 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{^\\\\}' {} \;
Нет в той версии 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
).