Использование lynx в скрипте bash

Я пытаюсь написать скрипт bash, который преобразует все HTML-файлы в каталоге в текстовые файлы.

Я подумал, что смогу сделать это, используя рысь. Например... lynx -dump index.1.html> index.1.txt

Эта команда прекрасно работает в оболочке, но когда я пытаюсь реализовать ее в сценарии, я получаю сообщение об ошибке:./txtFiles/./.txt: такого файла или каталога нет

Вот мой код...

#!/bin/bash
mkdir txtFiles
for file in ./
do 
   lynx --dump $file > ./txtFiles/$file.txt

done

Кто-нибудь знает, как я мог бы заставить это работать должным образом? Заранее спасибо.

2 ответа

Как насчет файла в *.html?

Часть "for file in" не знает, что вы хотите, чтобы она прочитала все файлы в текущем каталоге. На самом деле, он ничего не "знает" о файлах - он просто ожидает список слов. Если вы дадите ему глобус "*.html", bash создаст этот список для вас на основе всех файлов в текущем каталоге, которые соответствуют этому шаблону.

Вам нужно дать $file файл взамен, но for file in ./ отдает папку в $file, что является нежелательным и вызывает ошибку. Надеюсь, я помог.

Другие вопросы по тегам