Pasar al contenido principal
Alexys Lozada
José Luján
Manuel Rodriguez
José Luján
Luis Avilés
Álvaro Felipe
José Luján
Beto Quiroga
Jonathan MirCha
Jonathan MirCha
Álvaro Felipe
Alexys Lozada, Álvaro Felipe, Jonathan MirCha
Beto Quiroga
Alexys Lozada
Alexys Lozada
José Luján
Álvaro Felipe
Álvaro Felipe
Jonathan MirCha
Jonathan MirCha
Alexys Lozada, José Luján
Alexys Lozada, José Luján
Alexys Lozada, José Luján
Camilo Adobe
Álvaro Felipe
José Luján
Jonathan MirCha
Álvaro Felipe
Álvaro Felipe
Beto Quiroga, Alexys Lozada
Álvaro Felipe
Juan Villalvazo
Luis Avilés
Jonathan MirCha
Jonathan MirCha
Jonathan MirCha

Gestiona tus ficheros de Linux con expresiones regulares

Te explicaré como a través de expresiones regulares sencillas puedes ahorrarte horas de trabajo al administrar tus archivos en Linux. Es muy sencillo.

Gestiona tus ficheros de Linux con expresiones regulares

Alguna vez te preguntaste ¿Cómo puedo crear una serie de ficheros con un solo comando? o ¿cómo listar una serie de archivos que coincidan con una patrón dado? pues bien, haz llegado al lugar indicado, en este post te enseñaré cómo resolver estas inquietudes y de paso aprenderás algunos conceptos básicos de las expresiones regulares.

En primer lugar, ¿qué son las expresiones regulares? de acuerdo con Wikipedia las expresiones regulares son una secuencia de caracteres que forman un patrón de búsqueda. Este patrón este se conforma de caracteres simples como por ejemplo abc o por una combinación de caracteres simples y especiales, como a*bc

A continuación te mostraré algunos caracteres especiales útiles para la administración de nuestros ficheros, asumamos que tenemos un directorio con los siguientes ficheros:

$ ls
file1.go file2.go file01.go file02.go script1.sql script2.sql

Asterisco (*)

Significa cero o más caracteres.

Recomendado: Curso Administración de servidores Linux Desde Cero

Para listar todos los ficheros con extensión .go del directorio utilizaríamos ls *.go

$ ls *.go
file1.go file2.go file01.go file02.go

Y para eliminar todos los ficheros del directorio podríamos usar:

rm *

Interrogante (?)

Significa 1 carácter cualquiera.

Si quisiéramos consultar los archivos .go con un solo dígito en lugar de dos, usaríamos:

$ ls file?.go
file1.go file2.go

Llaves {}

Permite indicar una serie de patrones separados por comas.

Si queremos listar los archivos file1.go y file01.go el comando que usaríamos sería el siguiente:

$ ls file{1,01}.go
file1.go file01.go

También podríamos listar los archivos por tipo de extensión, por ejemplo para obtener los archivos con extensiones png, jpg y gif usaríamos:

ls *.{png, jpg, gif}

Si necesitamos generar ficheros con secuencias del 1 al 5 con extensión .go, podrías pensar que el comando adecuado sería:

$ touch file{1,2,3,4,5}.go
file1.go file2.go file3.go file4.go file5.go

Aunque el comando anterior funciona correctamente no es el más eficiente, ya que si en lugar de 5 archivos secuenciales necesitáramos 50 no sería muy útil, así que existe una mejor forma de hacerlo llamada expansión de llaves {ini..fin}, la cual nos permite establecer un rango de datos entre llaves, por lo que el problema anterior sería resuelto con el siguiente comando:

$ touch file{1..50}.go

Corchetes []

Permite indicar una serie de caracteres entre corchetes, también permite especificar un rango de caracteres separando el carácter inicial y el carácter final con un guión -:

Recomendado: Curso Bases de Datos Desde Cero

Listar solo los archivos que comiencen por file0 seguido inmediatamente por el carácter 1 0 2 y que finalicen con extensión .go

$ ls file0[12].go
file01.go  file02.go

El anterior ejemplo también puede ser resuelto usando un rango de caracteres, si por ejemplo ya no requerimos las coincidencias de los caracteres 1 y 2 sino de los caracteres del 1 al 9, podríamos usar ls file0[1-9].go en lugar de utilizar ls file0[123456789].go

Espero puedas poner en práctica esta información para mejorar tus habilidades con la terminal de Linux, ¡Nos vemos pronto!

Suscríbete al blog de EDteam

Ingresa tu correo electrónico para recibir nuestro boletín semanal