[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Manipulação de string
From: |
Fernando Mercês |
Subject: |
Re: [shell-script] Manipulação de string |
Date: |
Thu, 6 Oct 2011 12:43:35 -0300 |
Se quiser pegar um de cada vez, o cut resolve:
$ a='spf-25.dominio.net.br. 3600 IN TXT "v=spf1 ip4:XXX.XXX.XXX.0/24
ip4:YYY.YYY.YYY.0/24 exists:%{h}.%{p}.%{l}.%{i}._spf-25.dominio.net.br~all"'
$ echo $a | cut d. -f1
spf-25
$ echo $a | cut -d\" -f2
v=spf1 ip4:XXX.XXX.XXX.0/24 ip4:YYY.YYY.YYY.0/24
exists:%{h}.%{p}.%{l}.%{i}._spf-25.dominio.net.br ~all
Agora, para imprimir os dois de uma vez só, consegui com o awk:
$ echo $a | awk 'BEGIN {FS = "."}; {printf "%s ", $1}; {print substr($0,
index($0, "\""), length($0))}'
spf-25 "v=spf1 ip4:XXX.XXX.XXX.0/24 ip4:YYY.YYY.YYY.0/24
exists:%{h}.%{p}.%{l}.%{i}._spf-25.dominio.net.br ~all"
Abraços.
Att,
Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
softwarelivre-rj.org
@MenteBinaria
------------------------------------
Participe do I Hack'n Rio
hacknrio.org
------------------------------------
2011/10/6 M. Rodrigo Monteiro <address@hidden>
> **
>
>
> Caros, bom dia.
>
> Em uma parte de um script, tenho o seguinte:
>
> zona="dominio.net.br"
> # egrep ^"[0-9A-Za-z-]*\.${zona}\." "${arquivoDump}" | grep -v -f
> /tmp/importaSubDominio5035 | grep 'TXT'
>
> spf-25.dominio.net.br. 3600 IN TXT "v=spf1
> ip4:XXX.XXX.XXX.0/24 ip4:YYY.YYY.YYY.0/24
> exists:%{h}.%{p}.%{l}.%{i}._spf-25.dominio.net.br ~all"
> spf-99.dominio.net.br. 3600 IN TXT "v=spf1
> ip4:XXX.XXX.XXX.0/24 ip4:YYY.YYY.YYY.0/24
> exists:%{h}.%{p}.%{l}.%{i}._spf-99.dominio.net.br ~all"
>
> Eu queria nesse one-liner pegar somente a primeira parte do primeiro
> registro (spf-25) e o último registro (v=spf1 ip4:XXX.XXX.XXX.0/24
> ip4:YYY.YYY.YYY.0/24 exists:%{h}.%{p}.%{l}.%{i}._spf-25.dominio.net.br
> ~all).
> Com awk '{print $1,$NF}' não funciona porquê o último registro o
> separador de campo é aspas duplas...
>
> O resultado desejado é, por linha:
>
> Primeiro resultado
> host="spf-25"
> registro="v=spf1 ip4:XXX.XXX.XXX.0/24 ip4:YYY.YYY.YYY.0/24
> exists:%{h}.%{p}.%{l}.%{i}._spf-25.dominio.net.br ~all"
>
> Segundo resultado
> host="spf-99"
> registro="v=spf1 ip4:XXX.XXX.XXX.0/24 ip4:YYY.YYY.YYY.0/24
> exists:%{h}.%{p}.%{l}.%{i}._spf-99.dominio.net.br ~all"
>
> Alguém tem uma luz?
> Espero que tenha conseguido explicar...
>
> Abraços,
> Rodrigo.
>
> M. Rodrigo Monteiro
>
> "Free as in Freedom, not free as in free beer"
> "As we are liberated from our own fear, our presence automatically
> liberates others"
> Linux User # 403730
>
> Pense antes de imprimir. Think before printing.
>
>
[As partes desta mensagem que não continham texto foram removidas]
- Manipulação de string, M. Rodrigo Monteiro, 2011/10/06
- Re: [shell-script] Manipulação de string,
Fernando Mercês <=