De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Julio Cezar Neves
Data de Publicação: 13 de julho de 2018
Um par de parênteses define um grupo em uma Expressão Regular, mas também salva o texto que casou com o trecho dentro do grupo. Em uma Expressão Regular, você pode definir grupos e posteriormente resgatar os textos de até 9 deles, usando uma contrabarra seguido da ordem do grupo na Expressão Regular.
Assim você recupera o texto do grupo mais à esquerda com \1
, o seguinte
será \2
e assim sucessivamente até \9
. \12
é o conteúdo do
primeiro grupo com o algarismo 2
colado no texto.
Vamos usar o sed
para, recebida uma data no formato DD-MM-AAAA, invertê-la:
$ sed -r 's/([0-9]{2})-([0-9]{2})-([0-9]{4})/\3-\2-\1/' <<< $(date +%d-%m-%Y)
2018-07-12
Neste exemplo o primeiro [0-9]{2}
casa com o dia, o segundo com o mês
e o [0-9]{4}
casa com o ano e cada um deles cria um grupo. A magia da
solução foi simplesmente listar os grupos na ordem inversa.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários