Deseo descargar una página web mientras proporciono las URL de stdin. Esencialmente, un proceso produce continuamente URL para stdout/file y quiero canalizarlos a wget o curl. (Piénselo como un simple rastreador web si lo desea).wget o curl de stdin
Esto parece funcionar bien:
tail 1.log | wget -i - -O - -q
Pero cuando se utiliza 'tail-f' y que ya no funciona (buffering o wget está esperando EOF?):
tail -f 1.log | wget -i - -O - -q
¿Alguien podría proporcionar una solución usando wget, curl o cualquier otra herramienta estándar de Unix? Lo ideal es que no quiera reiniciar wget en el bucle, simplemente manténgalo funcionando descargando URLs tal como vienen.
Con 'xargs'' wget' recibe la URL como parámetro para que ya no necesite '-i -'. 'tail -f 1.log | xargs -n1 wget -O - -q' – pabouk
esto iniciará un nuevo proceso de wget por URL –
Si esto se está ejecutando en una máquina compartida, puede que desee saber que cualquier otro usuario puede leer sus parámetros usando el comando "ps", así que no pongas contraseñas, etc. en tus URL. Utilice una de las soluciones que no implique convertir stdin en parámetros si esto pudiera ser un problema (los administradores con acceso de root a la máquina podrían, por supuesto, verificar qué URL están buscando, pero presumiblemente confían en los administradores más de lo que confían al azar otros usuarios). –