Como transformar isso em link? (comando sed?) [RESOLVIDO]

1. Como transformar isso em link? (comando sed?) [RESOLVIDO]

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 08/07/2015 - 11:52h

Olá amigos,

apaguei a pergunta anterior para deixar mais clara a minha dúvida.

Lá vai:

Como eu transformo isto:

/var/www/localhost/pasta/arquivo.pdf

Nisto:

<a href="www.site.com.br/arquivo.pdf">arquivo.pdf</a>

Se for usando o comando sed, como seria?

Estou perdido. Muito complicado pra mim.

Obrigado!


  


2. MELHOR RESPOSTA

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 08/07/2015 - 13:45h

Opa, falha minha. foi mals!

agora vai:

sed 's/.*[^arquivo.pdf]/\<a href="www.site.com.br\//1;s/.*/&\"\>arquivo.pdf<\/a\>/1' 

---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---

3. Re: Como transformar isso em link? (comando sed?)

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 08/07/2015 - 12:36h

Olá..


COmplicado pra vc????? então é imposível pro resto. kk

sei que não ta bonito, mas funciona:

sed 's/.*[^arquivo.pdf]/\<a href="www.site.com.br\//1;s/.*/&\"<\/a\>/1'

Em resumo, o sed vai pegar tudo (.*) exceto([^]) a string "arquivo.pdf" e trocar por <a href="www.site.com.br, e depois vai trocar tudo(.*) e trocar por ele mesmo(&) mais a "</a>. Sempre na primeira ocorrência (1). Se for rodar num arquivo onde tem varias ocorrencias, troque 1 por g (geral).

EDIT:: ficou menos feio

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


4. Re: Como transformar isso em link? (comando sed?) [RESOLVIDO]

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 08/07/2015 - 13:40h

tonyhts escreveu:

Olá..


COmplicado pra vc????? então é imposível pro resto. kk

sei que não ta bonito, mas funciona:

sed 's/.*[^arquivo.pdf]/\<a href="www.site.com.br\//1;s/.*/&\"<\/a\>/1'

Em resumo, o sed vai pegar tudo (.*) exceto([^]) a string "arquivo.pdf" e trocar por <a href="www.site.com.br, e depois vai trocar tudo(.*) e trocar por ele mesmo(&) mais a "</a>. Sempre na primeira ocorrência (1). Se for rodar num arquivo onde tem varias ocorrencias, troque 1 por g (geral).

EDIT:: ficou menos feio

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


KKKKK eu não tenho intimidade com isso... Já usei pra fazer scripts antes. Mas eu não fixei. Some tudo da cabeça por falta de uso.


Eu executei o seu comando assim:

$ echo "/var/www/localhost/pasta/arquivo.pdf" | sed 's/\/var\/www\/localhost\/pasta\//\<a href="www.site.com.br\//1;s/.*/&\"<\/a\>/1'

E retornou:

<a href="www.site.com.br/arquivo.pdf"</a>


QUASE o que eu queria.

O que eu queria era que saísse assim:

<a href="www.site.com.br/arquivo.pdf">arquivo.pdf</a>

Será que tem que usar mais de um comando?

Agradeço muito.

Abraço!



5. Re: Como transformar isso em link? (comando sed?) [RESOLVIDO]

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 08/07/2015 - 13:50h

[quote]tonyhts escreveu:

Opa, falha minha. foi mals!

agora vai:

sed 's/.*[^arquivo.pdf]/\<a href="www.site.com.br\//1;s/.*/&\"\>arquivo.pdf<\/a\>/1' 



Perfeito!!!! Muito obrigado!


6. Re: Como transformar isso em link? (comando sed?) [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 08/07/2015 - 14:13h

Brother, dei uma melhorada:

arq=arquivo.pdf 

sed 's/.*[^'$arq']/\<a href="www.site.com.br\//1;s/.*/&\"\>'$arq'\<\/a\>/g' 


Assim vc pode definir o arquivo na variavel arq ou usar um for arq in *.jpg *.pdf etc ; do sed blahbla;done

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


7. Re: Como transformar isso em link? (comando sed?) [RESOLVIDO]

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 08/07/2015 - 14:18h

tonyhts escreveu:

Brother, dei uma melhorada:

arq=arquivo.pdf 

sed 's/.*[^'$arq']/\<a href="www.site.com.br\//1;s/.*/&\"\>'$arq'\<\/a\>/g' 


Assim vc pode definir o arquivo na variavel arq ou usar um for arq in *.jpg *.pdf etc ; do sed blahbla;done

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


Muito bom! Obrigado :D








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts