Estou usando um script para encontrar uma lista de todos os arquivos .pdf em um URL. Mas o lynx parece ter um problema com espaços nos nomes dos arquivos. Aqui está o roteiro:
lynx --dump http://www.somesite/here/ | awk '/http/{print $2} | grep pdf > ~/Desktop/links.txt
Isso funciona como esperado até que haja um .pdf com espaço em branco no nome do arquivo. Lynx parece truncar o nome do arquivo no espaço em branco. Existe alguma maneira de evitar isso?
o awk (por padrão) usa espaços em branco como separadores de campo, e o lynx está renderizando um espaço em branco em uma url despejada como um espaço em branco. Contorne isso como sugeri em um relatório de bug:
Se o conteúdo estiver em codificação UTF-8, o lynx libera o texto (desfaz a codificação de URL, como
%20
), mostrando um espaço em branco neste caso (tornando dois ou mais campos para awk, dependendo do número de espaços em branco no nome ).Essa liberação foi feita para o Debian #398274 , em 2013 (ou seja, você tem esse recurso com o Ubuntu 18.04).
Adicionar a
-listonly
opção reduz o número de correspondências incorretas, observando apenas a lista de URLs.Se você quiser procurar vários tipos de arquivo, poderá listar os sufixos como alternativas na expressão regular, por exemplo, algo assim: