buscar archivos sin extensión

43

Digamos que tengo:

foo.txt
bar
baz.ooo

Si lo uso ls -1 !(*.*), solo obtendré baren la salida. Genial, ahora deseo tener los mismos resultados con find, algunos find -regexque harán el trabajo.

NOTA:

find -name !(*.*)no es la respuesta, ya !(*.*)que todavía es el problema de Bash que NO puedo usar.

pawel7318
fuente

Respuestas:

64

usted podría utilizar: find . -type f ! -name "*.*" la !niega la siguiente expresión, aquí un nombre de archivo que contiene un ''

También puede usar la -maxdepthopción para reducir la profundidad de búsqueda.

fduff
fuente
1
Me gusta más su respuesta ya que la mía tiene otras restricciones para los nombres de archivo y la suya es a prueba de balas.
pawel7318
Esto también es genial cuando ls -1 !(*.*)no funciona porque !da "Evento no encontrado".
Noumenon
2
@Noumenon hacer set +Hpara resolver eso
pawel7318
1
Si lo trata .gitignorecomo un archivo sin extensión (como Node's path.extname ()), use en ! -name "?*.*"lugar de! -name "*.*"
Johnny Wong