[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] copiar arquivos baseado no padrão de caracteres
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: RES: [shell-script] copiar arquivos baseado no padrão de caracteres |
Date: |
Fri, 10 Feb 2006 11:04:32 -0200 |
Não sei se ja postaram esta solução:
$ ls | egrep -e '^[A-Z]+(\.[a-z0-9]*)?$'
Em 10/02/06, Eliphas Levy Theodoro <address@hidden> escreveu:
>
> Carlos Eduardo Rodrigues Diogenes escreveu:
> > Consegui o filtro (na sorte) com isso
> >
> > ls | grep -e '[A-Z]\+[^a-z]\+'
>
> Acho que você chegou numa regex razoável, quase lá. Essa vai pegar
> arquivos que tiverem letras maiúsculas seguida por uma coisa qualquer
> que não seja minúscula... Por exemplo, "esseARQUIVOaqui" vai dar match.
> Sua descrição do problema antes era um pouco mais exigente:
>
> [quote]
> > quero achar todos os arquivos com letras maiúsculas
> > ou todos os arquivos com letra maiúscula antes de
> > um ponto e depois do ponto pode ter qualquer combinação
> > de caracteres.
> [/quote]
>
> Acho que um grep -E "^[A-Z]+(\..*)?$" é o match que você quer.
> Destrinchando:
>
> ^[A-Z]+ começando com uma, ou mais letras maiúsculas ( já começa a casar
> README e não rEADME )
> (\..*)?$ um ponto e qualquer outra coisa até o final, opcional
>
> eliphas@bu$ ls
> acconfig.h ChangeLog COPYING find.sh Makefile.am missing
> NEWS pkg.m4 README.win32
> AUTHORS configure.in depcomp INSTALL Makefile.in mkinstalldirs
> pkg.h README y
>
> eliphas@bu$ cat find.sh
> #!/bin/sh
> dir="."
> find $dir -maxdepth 1 -type f |
> grep -E "^$dir/\.?[A-Z]+(\..*)?$" |
> while read filename; do
> echo faça algo com \"$filename\"
> done
>
> eliphas@bu$ ./find.sh
> faça algo com "./README"
> faça algo com "./COPYING"
> faça algo com "./README.win32"
> faça algo com "./NEWS"
> faça algo com "./INSTALL"
> faça algo com "./AUTHORS"
>
>
> --
> Eliphas
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE
> <http://br.ard.yahoo.com/SIG=12fpq89jd/M=365837.7000707.7924794.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1139583213/A=2950750/R=2/id=noscript/SIG=10tift5qr/*http://br.movies.yahoo.com/>
> ------------------------------
> *Links do Yahoo! Grupos*
>
> - Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> - Para sair deste grupo, envie um e-mail para:
> address@hidden<address@hidden?subject=Unsubscribe>
>
> - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>
--
Tiago B Peczenyj
Linux User #405772
# cd /pub
# more beer
[As partes desta mensagem que não continham texto foram removidas]