Duvida - Me Ajudem - ShellSclipt [RESOLVIDO]

1. Duvida - Me Ajudem - ShellSclipt [RESOLVIDO]

ricardo souza
ricardosouza85

(usa Outra)

Enviado em 16/03/2015 - 16:19h

Olá Pessoal, estou com uma dívida em shellslipt, tenho um teste para fazer, tenho noçoes basicas porem gostaria de uma ajuda.
segue a questao:

1: Questão a ser resolvida em ShellScript: Dado o HTML abaixo, escreva um script que o
leia e dê como saída a lista de itens.

Código HTML:
<html>
<head>
<title>Minha lista</title>
</head>
<body>
<span>Itens:</span>
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
<li>item 4</li>
<li>item 5</li>
</ul>
</body>
</html>


Saída desejada:
item 1
item 2
item 3
item 4
item 5

2º questao: Com a saída anterior, transforme saída para ficar na mesma linha separado por ponto
e vírgula.
Saída desejada:
item 1&#894; item 2&#894; item 3&#894; item 4&#894; item 5&#894;


agradeço se puderem me ajudar, comentando o sclipt.
obrigado.


  


2. Re: Duvida - Me Ajudem - ShellSclipt

Wagner Souza
wagnerfs

(usa Fedora)

Enviado em 16/03/2015 - 23:55h

1º Questão

A solução é a seguinte:


$ grep -i item index.html | sed 's/<li>//' | sed 's/<\/li>//' 


O comando grep vai filtrar a minha pesquisa apenas pela palavra item independentemente se as letras estão maiúsculas ou minúsculas. O sed vai eliminar as tags <li> e </li>. No segundo sed, a contra barra (\) indica que o caractere a seguir deve ser interpretado como é de fato. Se não colocar assim, vai dar um erro pois vai confundir com a estrutura do próprio comando.

Um detalhe importante é que na estrutura do comando sed estou usando aspas simples e não crase. Cuidado pois pode gerar erros.

2º Questão

Com o mesmo comando anterior e acrescentando o tr para trocar a quebra de linha por ponto e vírgula, temos:

$ grep -i item index.html | sed 's/<li>//' | sed 's/<\/li>//' | tr -s '\n' ';' 


Acredito que é isso que você está querendo. Dê uma estudada nos comandos e recomendo este artigo aqui para aprofundar os conhecimentos: http://www.vivaolinux.com.br/artigo/Algoritmos-em-Shell-Script
_________________________
Wagner F. de Souza
Graduado em Redes de Computadores
"GNU/Linux for human beings."
LPI ID: LPI000297782







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts