Повторите запуск инструмента командной строки inscript для всех html файлов в подпапках - PullRequest
0 голосов
/ 19 февраля 2020

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

Я пробовал:

for f in ./ do inscript.py -o test.txt done

1 Ответ

1 голос
/ 19 февраля 2020

Должно работать следующее:

for d in ./**/*/; do
  pushd "$d"
  for f in *.html(N); do
    out=test-${f%.html}.txt
    inscript.py -o "$out" "$f"
  done
  popd
done

Шаблон .**/*/ будет рекурсивно соответствовать текущему каталогу и всем его подкаталогам. pushd изменится на каталог, но помните текущий рабочий каталог. inscript.py делает свое дело, затем popd возвращается в исходный рабочий каталог, так что следующее значение d продолжает оставаться допустимым относительным каталогом.

Изменение рабочего каталога не является строго обязательным; это просто упрощает задействованные пути к файлам, потому что вы сосредотачиваетесь на имени файла и игнорируете остальную часть пути.

...