validar regulares regular probar palabra generador expresiones expresion exacta espacio ejemplos cualquier caracter blanco alfanumerico regex ls globbing

regulares - regex ejemplos



Uso de expresiones regulares con ls (2)

Estoy tratando de usar ER (Expresiones regulares extendidas) con ls como ls .+/..+ .

Estoy intentando imprimir todos los archivos que contienen una extensión (sé que podría haber usado ls *.* , Pero quería intentar usar ER).

Cuando ejecuto ese código recibo este error: ls: .+..+: No such file or directory .


Estás confundiendo la expresión regular con los globos de shell . Si desea utilizar expresiones regulares para hacer coincidir los nombres de los archivos, puede hacerlo:

$ ls | egrep ''.+/..+''


No dice qué shell está utilizando, pero generalmente no admiten expresiones regulares de esa manera, aunque hay herramientas comunes de CLI de * nix ( grep , sed , etc.) que sí lo hacen.

Lo que soportan los shells como bash es el globbing , que usa algunos caracteres similares (por ejemplo, *) pero no es lo mismo.

Las versiones más recientes de bash tienen un operador de expresión regular, =~ :

for x in `ls`; do if [[ $x =~ .+/..* ]]; then echo $x; fi; done