Pular para o conteúdo

String [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. String [RESOLVIDO]

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

Responder tópico

2. Re: String

Melhor resposta

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

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]

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]

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

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]

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]

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


Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder