Как создать каталоги, содержащие index.html, с помощью wget --recursive?

Вы можете использовать флаг -P программы man , чтобы использовать пейджер для отображения страниц. Например, вы можете использовать less в качестве программы-пейджера с флагом -p для поиска шаблона ОШИБКА в начале строки на странице руководства:

man -P 'less -p ^ERRORS' symlink

При этом открывается справочная страница символической ссылки и выполняется переход непосредственно к ее разделу ОШИБКИ .

1
25.10.2016, 17:03
1 ответ

http: // localhost: 8080 / blog / 1-and-here-the -slug

bar, foo и 1-and-here-the-slug - это файлы. Я хочу, чтобы они были каталогами с одним файлом в них с именем index.html и при этом не нарушали пути к ресурсам (CSS, JS и т. Д.).

├── blog
│   └── 1-and-here-the-slug
│       └── index.html

Когда вы открываете http: // localhost: 8080 / blog / 1-and-here-the-slug , текущий каталог - blog , если вы переименуете эту страницу в blog / 1-and-here-the-slug / index.html , ваш новый текущий каталог будет blog / 1-and-here-the-slug . Таким образом, вы нарушите относительные пути внутри ресурса (CSS, JS), если таковые имеются. И нет способа решить этот вопрос без изменения внутреннего HTML файлов .

Лучшее, что вы можете сделать, - это переименовать файлы без какого-либо расширения в расширение html.

├── blog
│   └── 1-and-here-the-slug.html
  1. Сохраняя тот же каталог, вы можете рекурсивно использовать команду rename :

Пример:

  find tmp -type f ! -name '*.*' | rename -nv 's/(.*)/$1.html/'
  1. Вы можете создавать новые каталоги, но это нарушит относительные ресурсы, если таковые имеются

Ex :

  find tmp -type f ! -name '*.*' | while read file; do
       mv $file $file.tmp;
       mkdir $file;
       mv $file.tmp $file/index.html;
 done

Вы можете играть, вставив в файл тег , чтобы указать правильный путь к ресурсам, но это будет тяжелой и дорогой работой

  1. * * Или лучше используйте параметр -E wget

EDIT: чтение страницы руководства wget дает вам два замечательных варианта

  -E 
 --adjust- extension 
Если загружен файл типа application / xhtml + xml или text / html 
и URL не заканчивается регулярным выражением \. [Hh] [Tt] [Mm] [Ll] ?, эта опция 
приведет к добавлению суффикса .html к локальному имени файла. 
 
 -k 
 --convert-links 
После завершения загрузки преобразуйте ссылки в документе, чтобы 
сделать их подходящими для локальных просмотр. Это влияет не только на видимые 
гиперссылки, но и на любую часть документа, которая ссылается на внешнее содержимое, 
например на встроенные изображения, ссылки на таблицы стилей, гиперссылки на не - 
HTML содержание и т. д. 
 
2
29.04.2021, 00:08

Теги

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