String [RESOLVIDO]

1. String [RESOLVIDO]

henrique
henriquew

(usa Ubuntu)

Enviado em 28/09/2015 - 15:46h

Boa tarde galerinha, digamos que eu tenha as seguintes linhas em um arquivo:

bla bla bla bla bla
bla bla bla bla
%%Title: TesteHenrique^M
bla bla bla bla bla
bla bla bla bla bla

O script teria que chegar ate o %%Title: e pegar somente a string "TesteHenrique" sem o ^M e jogar em uma variável, alguém tem alguma ideia de como? Muitissimo obrigado e Abração


  


2. MELHOR RESPOSTA

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 28/09/2015 - 19:37h

henriquew escreveu:

Show de bola sua explicação resposta perfeita, porém veja minha linha de pensamento e desculpe o incomodo,
texto no meu_arquivo = %%Pages: 3^M
Com essa linha de Shell abaixo

paginas = `cat meu_arquivo | grep '%%Pages' | tail -n 1`

Eu obtenho
%%Pages: 3^M

Como poderia filtrar apenas o numero 3 dessa String acima???


Opa!, fica tranquilo brother, estamos aqui para nos ajudar...

Usando seu exemplo, seria assim:
paginas = `cat meu_arquivo | grep 'Pages' | tail -n 1 | awk  '{print$2}' | sed 's/..$//')` 


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 ---

3. Re: String

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 28/09/2015 - 17:22h

Olá,

Assim:
variavel=$(grep 'Title' seu_arquivo | awk  '{print$2}' | sed 's/..$//')


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: String [RESOLVIDO]

henrique
henriquew

(usa Ubuntu)

Enviado em 28/09/2015 - 17:33h

tonyhts escreveu:

Olá,

Assim:
variavel=$(grep 'Title' seu_arquivo | awk  '{print$2}' | sed 's/..$//')


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 ---


Perfeito tonyhts, mas com isso a string fica limpa, ou seja, apenas fica "TesteHenrique"? sem %%Title ?




5. Re: String [RESOLVIDO]

Fernando Eckhardt Valle
pherde

(usa Slackware)

Enviado em 28/09/2015 - 17:42h

henriquew escreveu:

tonyhts escreveu:

Olá,

Assim:
variavel=$(grep 'Title' seu_arquivo | awk  '{print$2}' | sed 's/..$//')


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 ---


Perfeito tonyhts, mas com isso a string fica limpa, ou seja, apenas fica "TesteHenrique"? sem %%Title ?




Cara, te deram a resposta e você nem para testar se funciona corretamente? Sério isso?



6. Re: String

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 28/09/2015 - 17:42h

Exato!

Explicando o comando:

variavel=$(grep 'Title' seu_arquivo | awk  '{print$2}' | sed 's/..$//') 

variavel=$( comando aqui ) "Salva o resultado do comando na variável "
grep 'Title' seu_arquivo " Extrai do seu arquivo somente a linha que contém a string Title"
awk '{print$2}' "Do resultado do comando anterior, extrai a segunda coluna, ou seja, testeHenrique^M"
sed 's/..$//' " Do resultado do segundo comando, exclui os dois ultimos caracteres, ou seja ^M"

Conferindo o valor armazenado na variável:
echo $variavel 

A Saída será:
 TesteHenrique 



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: String [RESOLVIDO]

henrique
henriquew

(usa Ubuntu)

Enviado em 28/09/2015 - 18:27h

tonyhts escreveu:

Exato!

Explicando o comando:

variavel=$(grep 'Title' seu_arquivo | awk  '{print$2}' | sed 's/..$//') 

variavel=$( comando aqui ) "Salva o resultado do comando na variável "
grep 'Title' seu_arquivo " Extrai do seu arquivo somente a linha que contém a string Title"
awk '{print$2}' "Do resultado do comando anterior, extrai a segunda coluna, ou seja, testeHenrique^M"
sed 's/..$//' " Do resultado do segundo comando, exclui os dois ultimos caracteres, ou seja ^M"

Conferindo o valor armazenado na variável:
echo $variavel 

A Saída será:
 TesteHenrique 



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 ---



Show de bola sua explicação resposta perfeita, porém veja minha linha de pensamento e desculpe o incomodo,
texto no meu_arquivo = %%Pages: 3^M
Com essa linha de Shell abaixo

paginas = `cat meu_arquivo | grep '%%Pages' | tail -n 1`

Eu obtenho
%%Pages: 3^M

Como poderia filtrar apenas o numero 3 dessa String acima???


8. Re: String [RESOLVIDO]

henrique
henriquew

(usa Ubuntu)

Enviado em 28/09/2015 - 18:28h

pherde escreveu:

henriquew escreveu:

tonyhts escreveu:

Olá,

Assim:
variavel=$(grep 'Title' seu_arquivo | awk  '{print$2}' | sed 's/..$//')


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 ---


Perfeito tonyhts, mas com isso a string fica limpa, ou seja, apenas fica "TesteHenrique"? sem %%Title ?




Cara, te deram a resposta e você nem para testar se funciona corretamente? Sério isso?


Estou fazendo e testando cara, estou tentando alternativas, é um meio de obter conhecimento, caso esteja aborrecido agradeço tua disponibilidade falo ai :)








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts