shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] script wget


From: T.Collons
Subject: Re: [shell-script] script wget
Date: Sun, 6 Oct 2019 18:23:23 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1

Muito Obrigado por la lección Maestro Julio.


Pero a lo que intente responder fue a descargar la pagina y enviarla a NULL con esta linea:

wget -qO- \"${USER_AGENT}\" $url &> /dev/null;


El 6/10/19 a les 13:27, 'Julio C. Neves' address@hidden [shell-script] ha escrit:
 

Hola Collons,
existe uma forma mais simplificada de trabalhar com cores em bash usando o
comando tput. Veja o que está escrito sobre o isto no livro que publiquei:

-

tput setaf – Especifica a cor da fonte (*foreground*).
-

tput setab – Especifica a cor de fundo (*background*).

Mais adiante, no Capítulo 8, seção “Mandando no terminal”, você verá outras
formas de fazer a mesma coisa; acho, porém, esta que veremos agora mais
intuitiva (ou menos “desintuitiva”).

Os valores de setaf e setab variam de 0 a 7, e 9 é o valor que restaura as
cores do fonte e/ou do fundo para seu(s) padrão(ões). Veja seus valores e
cores correspondentes na tabela a seguir:

Símbolo

Cor

*0*

Preto

*1*

Vermelho

*2*

Verde

*3*

Amarelo

*4*

Azul

*5*

Magenta

*6*

Ciano

*7*

Branco

*9*

Volta a cor *default*

Como em um livro só é possível utilizar matizes de cinza, fica bastante
complicado mostrar esse padrão de cores, por isso a seguir tem um programa que
você deveria executá-lo para ver todas as possibilidades de combinação de
cores de fonte e de fundo usando o comando tput (como já foi dito, existem
outras formas, mas essa é a melhor).

*$ cat cores1.sh*

#!/bin/bash

for ((b=0; b<=7; b++))

{

tput setab 9; tput setaf 9; echo -n "|"

for ((f=0; f<=7; f++))

{

tput setab $b; tput setaf $f; echo -n " b=$b f=$f "

tput setab 9; tput setaf 9; echo -n "|"

}

echo

}

tput setab 9; tput setaf 9

Os matizes das cores das fontes variam um pouco se a opção tput bold estiver
ativa (normalmente a cor com ênfase é um tom mais claro). Execute o
programa a seguir que você verá essas diferenças.

*$ cat cores4.sh *

#!/bin/bash

# cores4.sh - Lista as cores da console com bold

clear

for ((Cor=0; Cor <=7; Cor++))

{

for Modo in sgr0 bold

{

tput $Modo

tput setaf $Cor

printf -v Linha "%-$(tput cols)s" "-Em-modo-$([ $Modo = sgr0 ] && echo
Normal || echo "Bold ")-"

sed "s/ /█/g" <<< "$Linha"

}

tput sgr0

}

Neste exemplo o printf foi usado para formatar a saída, preenchendo-a com
espaços em branco até o tamanho da linha do terminal e jogando-a na variável
$Linha (por causa da opção -v). O sed trocou os espaços em branco por este
símbolo que preenche todo o espaço destinado a cada letra (█).

A seguir, um exemplo de como se salva/recupera a tela. Aproveitando a
oportunidade, mostramos diversas opções da instrução tput.

*$ cat salva_tela.sh *

#!/bin/bash

(($(tput cols) < 110)) && {

clear; echo Tela precisa de largura mínima de 110 caracteres

exit 1

}

seq 5000 | xargs *Sujando a tela*

Lin=$(($(tput lines) / 2)) *Calculando linha e coluna centrais da tela*

Col=$(($(tput cols) / 2))

tput cup $Lin; tput el; tput bold *Posicionando e apagando a linha central*

tput cup $Lin $((Col-55)); tput setaf 4 *Posicionando e colorindo para dar
mensagem*

echo "Em 10 segundos essa tela será fotografada e se apagará"

tput civis *Cursor invisível para melhorar apresentação*

for ((i=10; i!=0; i--))

{

tput cup $Lin $Col; tput el *Posiciona no centro da tela e limpa núm
anterior*

echo $i

sleep 1

}

tput smcup *Tirando uma foto da tela*

clear *Poderia ter usado tput reset*

tput cup $Lin $((Col-53))

echo "Dentro de 10 segundos a tela inicial será recuperada"

for ((; i<10; i++))

{

tput cup $Lin $Col *Posicionou no centro da tela*

echo $i

sleep 1

}

tput rmcup *Restaurou a foto*

tput cvvis;tput setaf 9 *Restaurou o cursor e cor*

A seguir, um *script* que serve para especificar o par de cores (da letra e
do fundo). Veja:

*$ cat mudacor.sh*

#!/bin/bash

tput sgr0

clear

# Carregando as 8 cores básicas para o vetor Cores

Cores=(Preto Vermelho Verde Marrom Azul Púrpura Ciano "Cinza claro")

# Listando o menu de cores

echo "

Opc Cor

=== ==="

for ((i=1; i<=${#Cores[@]}; i++))

{

printf "%02d %s\n" $i "${Cores[i-1]}"

}

CL=

until [[ $CL == 0[1-8] || $CL == [1-8] ]]

do

read -p "

Escolha a cor da letra: " CL

done

# Para quem tem bash a partir da versao 3.2

#+ o test do until acima poderia ser feito

#+ usando-se Expressoes Regulares. Veja como:

#+ until [[ $CL =~ 0?[1-8] ]]

#+ do

#+ read -p "

#+ Escolha a cor da letra: " CL

#+ done

CF=

until [[ $CF == 0[1-8] || $CF == [1-8] ]]

do

read -p "

Escolha a cor de fundo: " CF

done

let CL-- ; let CF-- # A cor preta eh zero e nao um

tput setaf $CL; tput setab $CF

clear

read -p "Tecle algo para testar as cores que você criou"

tput sgr0; clear

echo Quando quiser essas cores faça: tput setaf $CL\; tput setab $CF
SuShellso!

Abraços,
Julio
[image: image.png]A*manhã encerram-se as inscrições no último curso de
Shell que darei esse ano.*
*Quem tiver algum interesse sobre o assunto, mande um e-mail para *
*address@hidden <address@hidden> *

Em sáb, 5 de out de 2019 às 17:58, 'T.Collons' address@hidden
[shell-script] <address@hidden> escreveu:

>
>
> Pode testar isto, em um script?
>
> *#!/bin/bash*
>
> *# Colors per Shell*
> *C_BLACK="\E[30m"*
> *C_RED="\E[31m"*
> *C_GREEN="\E[32m"*
> *C_YELLOW="\E[33m"*
> *C_BLUE="\E[34m"*
> *C_MAGENTA="\E[35m"*
> *C_CYAN="\E[36m"*
> *C_WHITE="\E[37m"*
> *C_BLACKBOLD="\E[1;30m"*
> *C_REDBOLD="\E[1;31m"*
> *C_GREENBOLD="\E[1;32m"*
> *C_YELLOWBOLD="\E[1;33m"*
> *C_BLUEBOLD="\E[1;34m"*
> *C_MAGENTABOLD="\E[1;35m"*
> *C_CYANBOLD="\E[1;36m"*
> *C_WHITEBOLD="\E[1;37m"*
> *C_NORMAL="\E[0m"*
> *C_BOLD="\E[1m"*
>
> *url=""> >
> *[ $url == "" ] && echo -e "\n\n${C_REDBOLD} Manca la pagina arrel de els
> enllaços\n\n${C_NORMAL}" && exit;*
>
> *USER_AGENT='--no-parent --timestamping --convert-links --page-requisites
> --no-directories --no-host-directories -erobots=off --header="Accept:
> text/html" --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8;
> rv:21.0) Gecko/20100101 Firefox/21.0 --referer=http://www.google.com
> <http://www.google.com>'*
>
> *wget -qO- \"${USER_AGENT}\" $url &> /dev/null;*
>
>
> execute o script assim "meuscript PageToDownload"
>
>
> El 3/10/19 a les 0:00, Thomaz de Oliveira dos Reis address@hidden
> [shell-script] ha escrit:
>
>
>
> Já vi muito isso para forçar a criação de caches, só que você não consegue
> fazer um wget -r com o -O apontando para /dev/null infelizmente.
>
> Talvez exista outras soluções melhores para isso, mas você pode tentar
> salvar o resultado do wget -r em uma pasta montada com nullfs:
> https://github.com/xrgtn/nullfs
>
> Em qua, 2 de out de 2019 às 17:44, 'T.Collons' address@hidden
> [shell-script] <address@hidden>
> <address@hidden> escreveu:
>
> >
> >
> > Realmente no entiendo el sentido de tu pregunta, descargar toda un web
> > para borrar la descarga?
> >
> > Eu realmente não entendo o significado da sua pergunta, baixar um site
> > inteiro para excluir o download?
> >
> >
> > Ya nos explicaras pero para saber mas usa "man wget"
> >
> >
> >
> > El 2/10/19 a les 20:08, Vitor Hugo address@hidden
> [shell-script]
> > ha escrit:
> >
> >
> >
> > boa tarde;
> >
> > eu prescisava de um script simples de wget que baixa-se um site completo
> > e todo o conteudo fosse redirecionado para /dev/null e colocar este
> > script em loop constante.
> >
> > --
> >
> >
> >
> > Pere
> >
> > address@hidden <address@hidden> <address@hidden>
> >
> >
> >
> > <https://www.google.com/> <https://www.google.com/>
> >
> > ------------------------------------
> >
> > AVIS LEGAL
> >
> > Nota de confidencialitat: Aquest missatge podria contenir missatges
> > d'empresa i altre informació confidencial tutelada per les lleis de
> Europea
> > i altres estats, Si Vostè el rep per error o sense ser una de les
> persones
> > esmenades a la capçalera, haurà de destruir-lo sense copiar-lo ni
> > revelar-l'ho o qualsevol altre acció relacionada amb el contingut del
> > missatge i notificar-ho per correu electrònic a l'emissor del missatge.
> >
> > Les persones o entitats que incompleixin els deures de confidencialitat
> > podran ésser perseguides davant dels Tribunals de Justícia sota l'empar
> de
> > la legislació civil, penal i administrativa nacional i internacional.
> >
> > Gracies per la seva cooperació.
> >
> > ------------------------------------
> >
> > LEGAL NOTICE
> >
> > Confidentiality notice: This mail may include business and other
> > confidential information protected under the laws of and other
> territories.
> > if you are not one of the intended recipients of the message, you are
> > legally obliged to delete the message content. Furthermore, you are
> kindly
> > requested to report immediately the incident to the sender.
> >
> > Breach of confidentiality duties is a serious criminal offence in and
> > other territories. Offenders shall be legally prosecuted worldwide.
> >
> > Thank you for your cooperation.
> >
> >
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> --
>
>
>
> Pere
>
> address@hidden <address@hidden>
>
>
>
> <https://www.google.com/>
>
> ------------------------------------
>
> AVIS LEGAL
>
> Nota de confidencialitat: Aquest missatge podria contenir missatges
> d'empresa i altre informació confidencial tutelada per les lleis de Europea
> i altres estats, Si Vostè el rep per error o sense ser una de les persones
> esmenades a la capçalera, haurà de destruir-lo sense copiar-lo ni
> revelar-l'ho o qualsevol altre acció relacionada amb el contingut del
> missatge i notificar-ho per correu electrònic a l'emissor del missatge.
>
> Les persones o entitats que incompleixin els deures de confidencialitat
> podran ésser perseguides davant dels Tribunals de Justícia sota l'empar de
> la legislació civil, penal i administrativa nacional i internacional.
>
> Gracies per la seva cooperació.
>
> ------------------------------------
>
> LEGAL NOTICE
>
> Confidentiality notice: This mail may include business and other
> confidential information protected under the laws of and other territories.
> if you are not one of the intended recipients of the message, you are
> legally obliged to delete the message content. Furthermore, you are kindly
> requested to report immediately the incident to the sender.
>
> Breach of confidentiality duties is a serious criminal offence in and
> other territories. Offenders shall be legally prosecuted worldwide.
>
> Thank you for your cooperation.
>
>
>
>
>

[As partes desta mensagem que não continham texto foram removidas]

--



Pere

address@hidden




------------------------------------

AVIS LEGAL

Nota de confidencialitat: Aquest missatge podria contenir missatges d'empresa i altre informació confidencial tutelada per les lleis de Europea i altres estats, Si Vostè el rep per error o sense ser una de les persones esmenades a la capçalera, haurà de destruir-lo sense copiar-lo ni revelar-l'ho o qualsevol altre acció relacionada amb el contingut del missatge i notificar-ho per correu electrònic a l'emissor del missatge.

Les persones o entitats que incompleixin els deures de confidencialitat podran ésser perseguides davant dels Tribunals de Justícia sota l'empar de la legislació civil, penal i administrativa nacional i internacional.  

Gracies per la seva cooperació.

------------------------------------

LEGAL NOTICE

Confidentiality notice: This mail may include business and other confidential information protected under the laws of and other territories. if you are not one of the intended recipients of the message, you are legally obliged to delete the message content. Furthermore, you are kindly requested to report immediately the incident to the sender.

Breach of confidentiality duties is a serious criminal offence in and other territories. Offenders shall be legally prosecuted worldwide. 

Thank you for your cooperation.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]