[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