[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Tranformar um campo em link html
From: |
MrBiTs |
Subject: |
Re: [shell-script] Tranformar um campo em link html |
Date: |
Sun, 16 Jan 2011 21:37:39 -0200 |
User-agent: |
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 01/16/2011 18:10 , trans548 wrote:
> Boa tarde pessoal,
>
> Gostaria da ajuda de vocês em um pequeno script que estou fazendo.
>
> Tenho alguns arquivos.txt com dados parecidos com os debaixo:
>
> 2008:20081104
> 2009:20091113
> 2003:20030321
> 2003:20031006
> 2001:20011004
> 2001:20011031
> 97:19970516
> 97:19970517
>
> Explicando:
> Os números a esquerda dos dois pontos são pastas e os números a direita
> dos dois pontos são arquivos.htm
>
> Estou tentando fazer um script para transformar os dados acima em link html,
> mas nao estou conseguindo, vejam a baixo o script:
>
> #!/bin/bash
> t=$1 # nome da pagina.htm
> echo "<html>" > ${t}.htm
>
> echo "<head> <title> $t </title>" >> ${t}.htm
>
> echo "<body>" >> ${t}.htm
> echo "<center><h2> "$t" </h2> </center><hr color=#ffffff>" >> ${t}.htm
>
> while read linha # lendo o arquivo com os dados
> do
> a=$(echo $linha `cut -d: -f1`) # separando os campos
> b=$(echo $linha `cut -d: -f2`)
>
> #inserindo os campos no link
> echo "<a href="$a/${b}.htm"> $b</a> <br>" >> ${t}.htm
> done < lista
>
> echo " </body> </html>" >> ${t}.htm
> -----------
> Tenho como resultado uma pagina.htm com todos os dados lista em um único
> link, quando deveria ser oito links. Onde estar o erro?
>
> Desde já agradeço qualquer a juda.
>
> J.Sabino
Os escapes de aspas duplas não existem no seu código e podem gerar erros. Eu
usaria here documents e faria algo assim:
Há erros na sua codificação HTML também. Vá à procura de conceitos. Eles estão
fazendo falta a você.
#!/bin/bash
t=$1 # nome da pagina.htm
cat arquivo | while read linha ; do
IFS=":"
set - $linha
# as duas linhas acima farão o separador de campo
# ser o : e separarão a linha em campos $1 a $N
# No seu exemplo teremos:
# $1 = 2008
# $2 = 20081104
# Economizamos processamento, chamadas a programas
# externos e tudo o mais.
cat <<__EOF__>>${t}.html
<html>
<head>
<title>${t}</title>
</head>
<body>
<center><h2>"${t}"</h2 </center><hr color=#ffffff>
<a href="${1}/${2}.htm"> $b</a> <br>
</body>
</html>
__EOF__
done
E é HTML. HTM é coisa de usador windows.
Acho que esse é um começo. Provavelmente o meu exemplo não resolva o seu
problema, mas dará a você um norte para começar.
E, permita-me corrigí-lo. A grafia correta é "abaixo" e não "a baixo";
"deveriam ser oito", não "deveria ser oito"; "onde está", não
"onde estar". Internet não é sinônimo de idiocracia, senhores.
- --
LLAP
.0. MrBiTs - address@hidden
..0 GnuPG -
http://keyserver.fug.com.br:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (Darwin)
iQEcBAEBCAAGBQJNM4FDAAoJEG7IGPwrPKWrI8MH+wZ7OLrQWaw4qFeARHvL3DR7
k081VUkcLHwcv5tUWyr3j6zT1EbyhvkQDVlyZHCZv2Ww+RPgvG5BMW4m0o83jwsU
pN4CwQ/w/Fgk322BDPEhlQWfKjaOVue5ozd5BRn4E9Fngno8LafSvU2gv2gtZNlj
4CC370Bq7hSw3IaSny6nao+UYqHB+jZpwHzmCU3RucarCO32P1uEvY32y5xOPpyk
RadLobiLIzF+6Z2zaKsQFIdcJL1kCg4eVl6eBZzqpQaPWm1Kcp5VvWDCCDe7q+kh
cFQghHooDlvlc79Wu4uM+9Xc28NmcDiam0epVnVrPmYGRhvykcfp3Xase+3lw1c=
=Klat
-----END PGP SIGNATURE-----