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

[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: Eliphas Levy Theodoro
Subject: Re: RES: [shell-script] copiar arquivos baseado no padrão de caracteres
Date: Fri, 10 Feb 2006 10:51:09 -0200
User-agent: Thunderbird 1.5 (Windows/20051201)

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


reply via email to

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