trova file senza estensione


43

Diciamo che ho:

foo.txt
bar
baz.ooo

Se uso ls -1 !(*.*)allora otterrò solo barl'output. Bene, ora vorrei avere gli stessi risultati con find - alcuni find -regexche faranno il lavoro.

NOTA:

find -name !(*.*)non è la risposta !(*.*)in quanto è ancora il glob di Bash che NON posso usare.

Risposte:


64

potresti usare: find . -type f ! -name "*.*" the !nega la seguente espressione, qui un nome file che contiene un '.'

puoi anche usare l' -maxdepthopzione per ridurre la profondità di ricerca.


1
Mi piace di più la tua risposta poiché la mia ha alcuni altri vincoli per i nomi dei file e la tua è a prova di proiettile.
pawel7318,

Questo è ottimo anche quando ls -1 !(*.*)non funzionerà perché !dà "Evento non trovato".
Noumenon,

2
@Noumenon fa set +Hper risolverlo
pawel7318

1
Se trattate .gitignorecome un file senza estensione (come il path.extname () del Node), usate ! -name "?*.*"invece di! -name "*.*"
Johnny Wong,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.