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

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

Я подумал, что могу сделать это с помощью lynx. Например... 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

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


person Tom D    schedule 24.04.2013    source источник
comment
Вы, вероятно, хотите for file in ./*, а не for file in ./   -  person Blender    schedule 24.04.2013
comment
да, ты был прав. Это исправило, спасибо.   -  person Tom D    schedule 24.04.2013


Ответы (2)


Как насчет для файла в формате *.html?

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

person Markku K.    schedule 24.04.2013

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

person Rishav    schedule 04.05.2016