shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Ajuda Com Shell


From: T.Collons
Subject: Re: [shell-script] Ajuda Com Shell
Date: Sat, 20 Oct 2018 20:06:54 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

Hola Vinicious


Te escribo en castellano, porque aquí en la lista ya me han dicho que no use a google para hacerlo en "brasileiro".

Ahora que he visto que has puesto de tu parte, te informo que con SED también puedes usar variables que puedes definir antes de ejecutar la substitución, te lo digo porque no creo que todas las substituciones vayan a ser para la misma fecha.

Imagino que "SEGUNDA_SEXTA_JANEIRO DESCRIPTION "SEGUNDA_SEXTA_JANEIRO" es una fecha o una hora, no se exactamente que significa, pero que ira cambiando en los distintos ficheros y tendrás que substituirlo por distintas fechas u horas, así que si creas un script, puedes escribir como parámetro la cadena a substituir y pasársela a SED.

SED quedaría así

original="ON RUNCYCLE SEGUNDA_SEXTA_JANEIRO DESCRIPTION "SEGUNDA_SEXTA_JANEIRO"

TuSubstitucion="ON RUNCYCLE TODA_PRIMEIRA_QUARTA_JAN VALIDFROM 01/02/2019 "FREQ=MONTHLY;INTERVAL=12;BYDAY=1WE""

echo $original |sed 's|ON RUNCYCLE.*$|'"$TuSubstitucion"'|'



El 20/10/18 a les 01:30, Vinicius address@hidden [shell-script] ha escrit:
 
Jonathan e Itamar

Obrigado pelas explicações e pela ajuda.

Ficou claro aqui a interpretação.

Grande abraço.

Vinicius

Sent from BlueMail
On Oct 19, 2018, at 19:22, "address@hidden [shell-script]" <address@hidden> wrote:
 
Cara Vínicius

O Jonathan explicou bem o siginificado da estrutura no sed quando se usa a substituição.
Mas a sua abordagem anterior você se valeu do recurso do escape, ou como diria o mestre Julio, você usou a kriptonita na barra, tirando os poderes dela de ser o caractere separador.

na estrutura da substituição o primeiro caractere após o s é usado como o elemento separador das partes e nommalmente esse caractere é a barra simples, mas quando o texto a ser substituido tem barras em seu conteúdo, o sed pode confundir e interpretrar essa barra do texto como separador, entãi para que isso não ocorra escapamos, tiramos o poder da barra usando \/.
Como seu texto tinha datas que usavam barras, essas barras precisavam usar esse recurso nesse contexto mais comum.
Mas ao usar outro caractere logo após o s, no caso eu usei o pipe ( | ) e o Jonathan sugeriu a cerquilha ( # ), trocamos o caractere separador, e então não há a necessidade de escapar nessa segundo caso. E poderia ser qualquer caractere além do pipe ou cerquilha, como uma vírgula ( , ), arroba ( @ ), undercore ( _ ), ou até uma letra comum ou até mesmo um espaço. O importante é escolher um caractere que não esteja no texto a ser substituído, senão haverá a necessidade de escapar esse caractere.

Não sei se fui claro, mas essa é a idéia

[]'s
Itamar

--



Pere

address@hidden




------------------------------------

AVIS LEGAL

Nota de confidencialitat: Aquest missatge podria contenir missatges d'empresa i altre informació confidencial tutelada per les lleis de Europea i altres estats, Si Vostè el rep per error o sense ser una de les persones esmenades a la capçalera, haurà de destruir-lo sense copiar-lo ni revelar-l'ho o qualsevol altre acció relacionada amb el contingut del missatge i notificar-ho per correu electrònic a l'emissor del missatge.

Les persones o entitats que incompleixin els deures de confidencialitat podran ésser perseguides davant dels Tribunals de Justícia sota l'empar de la legislació civil, penal i administrativa nacional i internacional.  

Gracies per la seva cooperació.

------------------------------------

LEGAL NOTICE

Confidentiality notice: This mail may include business and other confidential information protected under the laws of and other territories. if you are not one of the intended recipients of the message, you are legally obliged to delete the message content. Furthermore, you are kindly requested to report immediately the incident to the sender.

Breach of confidentiality duties is a serious criminal offence in and other territories. Offenders shall be legally prosecuted worldwide. 

Thank you for your cooperation.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]