GNU/Linux >> Tutoriales Linux >  >> Linux

¿`ls -d *[!e]*` muestra todos los archivos en lugar de omitir todos los archivos que contienen una E?

ls -d *e* imprime todos los archivos que contienen una "e" en alguna parte. Pero al contrario, ls -d *[!e]* no parece funcionar. ¿Por qué es eso exactamente?

es porque ls toma * como su propio argumento y expande todos los archivos?

Entiendo que puedo hacer:ls -d !(*e*) (en Bash con extglob conjunto, o en ksh).

Respuesta aceptada:

Lo que ese globo está haciendo en realidad es hacer coincidir cualquier cantidad de caracteres, luego un solo carácter que no sea una e, luego cualquier cantidad de caracteres. Coincidirá con cualquier archivo con un nombre que no esté compuesto enteramente por e.


Linux
  1. Descomprimir todos los archivos en un directorio

  2. enlace simbólico:encuentra todos los archivos que enlazan con este archivo

  3. Mostrar dos archivos uno al lado del otro

  4. El comando 'ls -d' no muestra directorios. ¿Hay alguna manera de hacer que 'ls' solo muestre directorios en lugar de archivos y directorios?

  5. ¿Cómo desinstalar completamente un paquete (incluidos todos los archivos adicionales que vienen con él) usando yum (o rpm)?

¿Imprimir todos los archivos en una carpeta?

¿Por qué el archivo de traducción de Bash no contiene todos los textos de error?

¿Cómo encontrar todos los archivos que no contienen una cadena de texto?

Mover todos los archivos excepto uno

No hay variable X11 DISPLAY - ¿qué significa?

Cómo encontrar archivos que no contienen una cadena de búsqueda determinada