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.

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.