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

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

Re: [shell-script] Substituição de parâmetros aceita regex?


From: Julio C. Neves
Subject: Re: [shell-script] Substituição de parâmetros aceita regex?
Date: Fri, 14 Jun 2013 12:42:36 -0300

O Papo de 
Botequim<https://wiki.softwarelivre.org/TWikiBar/TWikiBarBirinaite#Ganhando_o_jogo_com_mais_coringa>tem
tudo... ;). Lá está escrito:

Não sei se é conhecimento de todos mas o shell possui, alem do
*globbing* normal
(a expansão *, ? e [a-z] de nomes de arquivos e diretórios), um *globbing*
 extendido.

Acho que, em alguns casos, podera ser BEM util, eliminando um *pipe* para
um grep por exemplo.

São eles:


    ?(padrao)

Casa zero ou uma ocorrência de um determinado padrao


    *(padrao)

Casa zero ou mais ocorrências de um determinado padrao


    +(padrao)

Casa uma ou mais ocorrências de um determinado padrao


    @(padrao)

Casa com exatamente uma ocorrência de um determinado padrao


    !(padrao)

Casa com qualquer coisa, exceto com padrao

e depois mostra os seguintes exemplos:

$ shopt -s extglob
$ ls
file filename filenamename fileutils
$ ls file?(name)
file filename
$ ls file*(name)
file filename filenamename
$ ls file+(name)
filename filenamename
$ ls file@(name)
filename
$ ls file!(name) # divertido esse
file filenamename fileutils
$ ls file+(name|utils)
filename filenamename fileutils
$ ls file@(name|utils) # "lembra" um {name,utils}
filename fileutils

É isso aí Alfredo, chope tb é cultura. Pq vc fica se exasperando para
aprender Shell e não senta no Boteco e toma um chope conosco? ;)



Abcs,
Julio
*@juliobash
*



Em 14 de junho de 2013 11:13, Alfredo Casanova <address@hidden>escreveu:

> **
>
>
> Se sim, como fazer?
>
> Exemplo:
>
> NUMERO=005005005005
>
> quero tirar os leading zeros da forma mais performática possível
>
> com sed é fácil (s/^0*//')
> tentei fazer com subsituicao de parametros mas descobri q não aceita regex
> hehe
>
> $ echo ${NUMERO/^0*/}
> 005005005005
>
> $ expr $NUMERO + 0
> 5005005005
>
> qual seria a forma mais rápida?
>
> --
> []'s
> Alfredo Casanova
> Linux User #228230
> msn: address@hidden
> tel: +55 61 9655 9619
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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