Использование 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, что является нежелательным и вызывает ошибку. Надеюсь, я помог.