wget
pode não ser a ferramenta adequada. O Lynx pode fazer o download dos arquivos e convertê-los em texto simples ao mesmo tempo, mas faria isso redirecionando sua saída para um arquivo. Como não tem a opção -output
, isso torna um pouco estranho usar em um script, já que você teria que atribuir nomes de saída.
Mas, supondo que você tivesse um diretório cheio de .html
arquivos, você poderia usar find
para percorrer esse diretório e converter os arquivos, por exemplo,
#!/bin/sh
find . -type f -name '*.htm*' | while IFS= read path
do
lynx -dump "$path" >"${path%%.htm*}.txt"
done
para colocar os arquivos ".txt" na mesma árvore ou
#!/bin/sh
find . -type f -name '*.htm*' | while IFS= read path
do
target=${path/foobar/test}
lynx -dump "$path" >"${target%%.htm*}.txt"
done
na pasta "test" (mapeando "foobar" para "test"). A substituição "/" é bash-specific, não em POSIX (mas se você escolheu usar POSIX, sed
funciona bem o suficiente).
Leitura adicional:
- 2.6.2 Expansão de parâmetros (POSIX)