Logo Hardware.com.br
renanlnx
renanlnx Membro Junior Registrado
119 Mensagens 1 Curtida

Ajuda - Substituir fragmento de linha - shellscript

#1 Por renanlnx 29/08/2009 - 11:24
Bom, estou fazendo um scriptzinho aqui... e me deparei com um problema... Espero que possam me ajudar.

A moral e substituir a localizao do pragrama para enderecos web.
Ex:

/home/garyz/desktop/study/licit_project/database/sp/cajamar: Contratação de Empresa especializada para construção de uma Unidade Escolar

E deve ficar assim...

http://www.cajamar.sp.gov.br/index.php?pagina=licitacao&categoria=prefeitura: Contratação de Empresa especializada para construção de uma Unidade Escolar

PS: Haverá outras linhas difiretes, que deverao ser substituidas tambem...
PS2: É importante manter a descricao (Após os ":")

Abrass
--d@niel--
--d@niel-- Veterano Registrado
1.4K Mensagens 18 Curtidas
#3 Por --d@niel--
31/08/2009 - 15:25
Olá,

Se a ideia é substituir o caminho de filesystem por essa URL aí, você pode fazer com o comando sed. Mas diz aí, este texto a ser alterado é sempre o mesmo, ou altera em função do arquivo?

Se for fixo, um possível comando é:
sed -is 's/\/home\/garyz\/desktop\/study\/licit_project\/database\/sp\/cajamar/http\:\/\/www\.cajamar\.sp\.gov\.br\/index\.php\?pagina\=licitacao\&categoria\=prefeitura/'
. Aí é só scriptar a alteração para os demais arquivos.

[]s
Linux, AIX, Solaris, HP-UX... Nada contra quem segue ideologias, mas eu estou nessa porque dá $$$! cap_feceiro.png:
renanlnx
renanlnx Membro Junior Registrado
119 Mensagens 1 Curtida
#4 Por renanlnx
31/08/2009 - 17:32
Não será sempre a mesma....
Mesmo nao sendo sempre a mesma, não basta catalogar todos os possiveis fragmentos de frases?

Obrigado
Abrass

edit:
So lendo depois entendi a sua pergunta....
Sim o texto é sempre o memso só muda a partir do ":"

garyz@darkstar:~/desktop/study/licit_project/found$ cat escol.html | sed -is 's/\/home\/garyz\/desktop\/study\/licit_project\/database\/sp\/cajamar/http\:\/\/www\.cajamar\.sp\.gov\.br\/index\.php\?pagina\=licitacao\&categoria\=prefeitura/'
sed: no input files
Got Slack?dorminhoco.gif
--d@niel--
--d@niel-- Veterano Registrado
1.4K Mensagens 18 Curtidas
#5 Por --d@niel--
31/08/2009 - 19:24
Não deu certo porque você tá dando o stdin como entrada pro sed, e ele está esperando o arquivo. Ou seja, o comando vai ficar assim:

sed -is 's/\/home\/garyz\/desktop\/study\/licit_project\/database\/sp\/cajamar/http\:\/\/www\.cajamar\.sp\.gov\.br\/index\.php\?pagina\=licitacao\&categoria\=prefeitura/' escol.html


Faz um backup do arquivo antes.

[]s
Linux, AIX, Solaris, HP-UX... Nada contra quem segue ideologias, mas eu estou nessa porque dá $$$! cap_feceiro.png:
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal