Pular para o conteúdo

Como identificar site em 404 que estão em uma lista txt

Responder tópico
  • Denunciar
  • Indicar

Responder tópico

3. Re: Como identificar site em 404 que estão em uma lista txt

Enviado em 19/02/2018 - 12:46h

amarildosertorio escreveu:

curl -I https://www.smashingmagazine.com/2010/05/20-fresh-high-quality-free-fonts 2>/dev/null | head -n 1 | cut -d$' ' -f2
Se o arquivo lista.txt esta assim:
site1
site2
site3
...

Seria algo assim:

curl -I /etc/squid3/lista.txt 2>/dev/null | head -n 1 | cut -d$' ' -f2

Não funcionou desta forma com arquivo txt e nem removeu o conteúdo.



4. Re: Como identificar site em 404 que estão em uma lista txt

Enviado em 19/02/2018 - 13:18h

meianoite escreveu:

amarildosertorio escreveu:

curl -I https://www.smashingmagazine.com/2010/05/20-fresh-high-quality-free-fonts 2>/dev/null | head -n 1 | cut -d$' ' -f2
Se o arquivo lista.txt esta assim:
site1
site2
site3
...

Seria algo assim:

curl -I /etc/squid3/lista.txt 2>/dev/null | head -n 1 | cut -d$' ' -f2

Não funcionou desta forma com arquivo txt e nem removeu o conteúdo.




$ cat /tmp/lista.txt
https://www.vivaolinux.com.br
https://www.smashingmagazine.com/2010/05/20-fresh-high-quality-free-fonts
https://www.google.com.br
https://www.smashingmagazine.com/2010/05/10-fresh-high-quality-free-fonts


# vim expurgo.sh
#/bin/bash

LIST=/tmp/lista.txt
LISTEMP=/tmp/listatemp.txt

for i in $(cat $LIST); do
CURL=$(curl -I $i 2>/dev/null | head -n 1 | cut -d$' ' -f2;)
if [ $CURL == 404 ]; then
cp -pa $LIST $LISTEMP
echo "REMOVE" $i
grep -v "$i" $LISTEMP > $LIST
else
echo "PULA" $i
fi

done


$ bash expurgo.sh
PULA https://www.vivaolinux.com.br
REMOVE https://www.smashingmagazine.com/2010/05/20-fresh-high-quality-free-fonts
PULA https://www.google.com.br
REMOVE https://www.smashingmagazine.com/2010/05/10-fresh-high-quality-free-fonts

$ cat /tmp/lista.txt
https://www.vivaolinux.com.br
https://www.google.com.br


5. Re: Como identificar site em 404 que estão em uma lista txt

Enviado em 19/02/2018 - 16:20h

amarildosertorio escreveu:

meianoite escreveu:

amarildosertorio escreveu:

curl -I https://www.smashingmagazine.com/2010/05/20-fresh-high-quality-free-fonts 2>/dev/null | head -n 1 | cut -d$' ' -f2
Se o arquivo lista.txt esta assim:
site1
site2
site3
...

Seria algo assim:

curl -I /etc/squid3/lista.txt 2>/dev/null | head -n 1 | cut -d$' ' -f2

Não funcionou desta forma com arquivo txt e nem removeu o conteúdo.




$ cat /tmp/lista.txt
https://www.vivaolinux.com.br
https://www.smashingmagazine.com/2010/05/20-fresh-high-quality-free-fonts
https://www.google.com.br
https://www.smashingmagazine.com/2010/05/10-fresh-high-quality-free-fonts


# vim expurgo.sh
#/bin/bash

LIST=/tmp/lista.txt
LISTEMP=/tmp/listatemp.txt

for i in $(cat $LIST); do
CURL=$(curl -I $i 2>/dev/null | head -n 1 | cut -d$' ' -f2;)
if [ $CURL == 404 ]; then
cp -pa $LIST $LISTEMP
echo "REMOVE" $i
grep -v "$i" $LISTEMP > $LIST
else
echo "PULA" $i
fi

done


$ bash expurgo.sh
PULA https://www.vivaolinux.com.br
REMOVE https://www.smashingmagazine.com/2010/05/20-fresh-high-quality-free-fonts
PULA https://www.google.com.br
REMOVE https://www.smashingmagazine.com/2010/05/10-fresh-high-quality-free-fonts

$ cat /tmp/lista.txt
https://www.vivaolinux.com.br
https://www.google.com.br




1- O for não vai dar estouro de pilha quando à quantidade de entradas for muito grande?

Ex: 80 mil linhas

2- Não seria melhor usar o xargs para essa finalidade?


6. Re: Como identificar site em 404 que estão em uma lista txt

Enviado em 19/02/2018 - 16:26h

meianoite escreveu:

1- O for não vai dar estouro de pilha quando à quantidade de entradas for muito grande?

Ex: 80 mil linhas

2- Não seria melhor usar o xargs para essa finalidade?

R1- Você tem 80 mil linhas no seu arquivo? Teste e otimize para a sua necessidade.

R2- Estou testando linha a linha. Onde ele se encaixaria?

7. Re: Como identificar site em 404 que estão em uma lista txt

Enviado em 19/02/2018 - 16:36h

O script foi uma sugestão com base na necessidade apresentada. Há N formas de se fazer isso, mas como existe a necessidade de testar link a link para identificar o 404 não pensei em algo mais performático.

8. Re: Como identificar site em 404 que estão em uma lista txt

Enviado em 19/02/2018 - 16:41h

Provavelmente você consiga otimizar com o xargs.

Bom trabalho meu camarada.

Abraço!

9. Re: Como identificar site em 404 que estão em uma lista txt

Enviado em 19/02/2018 - 16:46h

amarildosertorio escreveu:

O script foi uma sugestão com base na necessidade apresentada. Há N formas de se fazer isso, mas como existe a necessidade de testar link a link para identificar o 404 não pensei em algo mais performático.
Seria algo assim? Tem erros nos comandos abaixo:

CURL=$(curl -I '/etc/squid3/lista.txt' 2>/dev/null | head -n 1 | cut -d$' ' -f2)

xargs -t -P0 -L1 sed '/etc/squid3/lista.txt' / '/etc/squid3/lista1.txt' < $CURL

O sed seria melhor do que o cp?


Teria que identificar o site ( echo "PULA" $i) e jogar numa outra lista temporária ou usar o sed?

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder