Newsgroup: it.comp.os.linux.iniziare
Titolo: find file che iniziano con codice ISBN

Ciao a tutti, 
Ho una directory con tanti, ma tanti, file. Alcuni iniziano con il
codice ISBN(-10)
esempio:
1234567890Pippo.pdf
1234567890 Topolino.pdf
2134567890
 - minni.pdf
Il man di find dice che di default -regextype è emacs, quindi ho provato
con un:
$ find .  -regex '[0-9]\{10\}.*'
ma non trova niente
tuttavia 
$ find . -regex '[0-9].*'
trova tutti i file che mi interessano, più altri ovviamente.
Cosa sbaglio nel primo find?
grazie

 $ find . -regex '[0-9].*'
]zac[
find ./ -regextype posix-egrep -regex '.*[0-9]{10}.*'
P.S. Attenzione che find restituisce ./1234... e non 1234...

 find ./ -regextype posix-egrep -regex '.*[0-9]{10}.*'
Questo restituisce tutti i nomi che contengano una sequenza di almeno dieci
cifre, però. E va anche nelle sottodirectory.
Io suggerirei:
find . -maxdepth 1 -regextype posix-egrep -regex './[0-9]{10}[^0-9].*'
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________________________
Non sprecare i cicli idle della tua CPU: 
http://boinc.berkeley.edu/index.php

 Cosa sbaglio nel primo find?
Non credo che le espressioni regolari di EMACS le graffe siano 
caratteri speciali. cambia tipo di espressione.
L'espressione regolare corrisponde_ALL'INTERO_PATH_ ;
per trovare il file ./pippo l'espressione corretta è:
find . -regexp  '\./pippo' 
Ovvuiamente questo find tyrova solo il fiel ./pippo ma non 
il file ./documenti/lettere/pippo ; per trovare entrambi dovresti
fare qualcosa del genere:
find .-regexp '.*/pippo'
Quindi nel tuo caso:
find .  -regexptype grep -regex '.*/[0-9]\{10\}[^0-9].*'

 find . -maxdepth 1 -regextype posix-egrep -regex './[0-9]{10}[^0-9].*'
Peccato che per l'implementazione classica di egrep le parentesi 
graffe non sono caratteri speciali e spesso non lo sono  neanche 
\{ e \}. Niente di grave ma questa espressione può funzionare o 
non funzionare secondo i capricci di find.
Niente di grave comunque, basta fare qualche prova. 
 

 find .  -regexptype grep -regex '.*/[0-9]\{10\}[^0-9].*'
Sì, ci hai ragione, però cribbio il mio man find non mi dice affatto che
"grep" possa essere argomento di -regextype.
Siccome non capisco nemmeno io perché l'espressione proposta dall'OP non
funzioni[*], ho fatto qualche prova, ed è venuto fuori che con quella che
ho postato funzionava.
Uno tenta, ma aiuterebbe se magari l'universo non complottasse... ;)))
[*] 
http://jamesthornton.com/emacs/node/emacs_97.html
Regular expressions have a syntax in which a few characters are special 
constructs and the rest are ordinary. An ordinary character is a simple 
regular expression which matches that same character and nothing else. 
The special characters are `$', `^', `.', `*', `+', `?', `[', `]' and `
\'. Any other character appearing in a regular expression is ordinary, 
unless a `\' precedes it.
[...]
\{n\}
is a postfix operator that specifies repetition n times--that is, the 
preceding regular expression must match exactly n times in a row. For 
example, `x\{4\}' matches the string `xxxx' and nothing else.


trova tutti i file che mi interessano, più altri ovviamente.
Questo e' molto grezzo ma non sbaglia un colpo:
$: find -name '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]*'
-- 
Saluti, Dalet

 ...
Sarebbe utile leggere la documentazione di find più che di EMACS
Magari info find ma solo dopo che sarà sorto il sole.
Buonanotte.  

 Buonanotte.
Altrettanto. :)
Grazie di tutto.


 Magari info find ma solo dopo che sarà sorto il sole.
Perfetto, con tutte le informazioni dettagliate sulla sintassi da
usare con ogni possibile argomento di -regextype.
Come del resto avevi già scritto tu il tipo emacs non prevede proprio
gli intervalli (se non quelli sintetici, come + per intenderci).
Ecco la discrepanza rispetto a quanto avevo trovato, in generale e al
di là di find, sulle regexp in emacs.
Neppure i tipi findutils-default, awk, egrep, gnu-awk prevedono
gli intervalli.
I tipi grep, posix-awk, posix-egrep, posix-extended invece li
prevedono. Con grep le graffe vanno escapate, cogli altri tre no.
Questo stando al mio find sul mio sistema, almeno.
Ben, ora mi è tutto molto più chiaro. :)
