Estou tentando analisar páginas da web de origem, tentando encontrar todos os href semelhantes a este:
href='http://example.org/index.php?showtopic=509480
onde o número depois showtopic=
é aleatório (e com 6 números fixos de dígitos, por exemplo, 123456 - 654321)
while read -r line
do
source=$(curl -L line) #is this the right way to parse the source?
grep "href='http://example.org/index.php?showtopic=" >> output.txt
done <file.txt #file contains a list of web pages
Como posso pegar toda a linha se não sei qual é o número? Talvez um segundo grep com uma regex? Eu estava pensando em usar um intervalo no awk semelhante a:
awk "'/href='http://example.org/index.php?showtopic=/,/^\s/'" >> file.txt
ou um grep duplo como:
grep "href='http://example.org/index.php?showtopic=" | grep -e ^[0-9]{1,6}$ >> output.txt
Responder1
cat input.txt |grep "href='http://example.org/index.php?showtopic=" > output.txt
cat gera o conteúdo do arquivo que é canalizado para grep. grep compara linha por linha e grava linhas inteiras no texto de saída.
Alternativamente, você pode usar sed:
sed -n "\#href='http://example.org/index.php?showtopic=#p" input.txt > output-sed.txt