GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo hacer coincidir patrones que no distinguen entre mayúsculas y minúsculas con Ls?

Me gustaría enumerar todos los archivos que coincidan con un determinado patrón ignorando el caso.

Por ejemplo, ejecuto los siguientes comandos:

ls *abc*

Quiero ver todos los archivos que tienen "abc" como parte del nombre del archivo, ignorando las mayúsculas y minúsculas, como

-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt
-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file2ABC.txt

Nota

He buscado case en la página de manual, pero no pude encontrar nada.

Respuesta aceptada:

En realidad, esto lo hace su shell, no ls .

En bash , usarías:

shopt -s nocaseglob

y entonces ejecuta tu comando.

O en zsh :

unsetopt CASE_GLOB

O en yash:

set +o case-glob

y luego tu comando.

Es posible que desee poner eso en .bashrc , .zshrc o .yashrc , respectivamente.

Alternativamente, con zsh:

setopt extendedglob
ls -d -- (#i)*abc*

(es decir, convertir mayúsculas y minúsculas en una base por comodín)

Con ksh93:

ls -d -- ~(i:*abc*)

Quieres globos para trabajar diferente, no ls , ya que esos son todos los archivos pasados ​​a ls por la concha.


Linux
  1. Cómo cifrar archivos con gocryptfs en Linux

  2. ¿Cómo rellenar un archivo con FF usando dd?

  3. ¿Cómo comprobar la contraseña con Linux?

  4. Cómo grep salida ps con encabezados

  5. ¿Cómo deshabilitar el inicio de sesión SSH con contraseña para algunos usuarios?

Cómo comparar directorios con Meld en Linux

Cómo integrar ONLYOFFICE con Nextcloud

Cómo integrar ONLYOFFICE 9.6 con WordPress

Cómo asegurar servidores Linux con SE Linux

Cómo trabajar con declaraciones de casos en scripts Bash

Cómo crear un comercio electrónico con Magento