Estoy intentando analizar páginas web de origen, intentando encontrar todos los href similares a este:
href='http://example.org/index.php?showtopic=509480
donde el número posterior showtopic=
es aleatorio (y con 6 números fijos de dígitos, por ejemplo, 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
¿Cómo puedo tomar toda la línea si no sé cuál es el número? ¿Quizás un segundo grep con una expresión regular? Estaba pensando en usar un rango en awk similar a:
awk "'/href='http://example.org/index.php?showtopic=/,/^\s/'" >> file.txt
o un doble grep como:
grep "href='http://example.org/index.php?showtopic=" | grep -e ^[0-9]{1,6}$ >> output.txt
Respuesta1
cat input.txt |grep "href='http://example.org/index.php?showtopic=" > output.txt
cat genera el contenido del archivo que se canaliza a grep. grep lo compara línea por línea y escribe líneas completas en el texto de salida.
Alternativamente puedes usar sed:
sed -n "\#href='http://example.org/index.php?showtopic=#p" input.txt > output-sed.txt