Está en la página 1de 3

Expresiones Regulares

Una expresin regular en Linux, es una secuencia de caracteres y metacaracteres que forma un patrn de bsqueda
(se dice en Linux que la expresin se expande), principalmente utilizada para la bsqueda de patrones de cadenas de
caracteres u operaciones de sustituciones.
Las expresiones regulares proveen una manera muy flexible de buscar o reconocer cadenas de texto y se utilizan con
frecuencia por ejemplo en los comandos como grep, sed, awk, find, y en el propio bash de Linux.
Los metacaracteres son ciertos caracteres con un significado especfico dentro de una expresin regular. Estos
caracteres tienen un significado que va ms all del smbolo que representan y tienen un comportamiento especial en
una expresin regular.

Listado de Expresiones Regulares


Expresion

""

$(orden)

${var:+cadena}
${var:-cadena}
${var:=cadena}
${var:?cadena}

${var}

'...'
()
*
./
.[a-zA-Z]*

Descripcin
Se usa para que el shell trate lo encerrado en ellas como literal, pero a diferencia de
las comillas simples ' ', en este caso se expanden las variables.
[adrian@laptop-adrian ~]$ echo "$USER"
adrian
[adrian@laptop-adrian ~]$ echo '$USER'
$USER

Si comienza una palabra, el resto de la lnea es un comentario (Ignora todo el texto


hasta el final de la lnea).
El valor de una variable se puede obtener insertando el signo pesos $ antes del
nombre de la variable, si la variable no esta definida se obtiene cero.
$var Obtiene el valor de la variable var o cero si la variable var no esta definida
x=Hola luego realizo echo $x con lo cual mostrara por las salida estndar Hola
El shell sustituye el resultado de la orden (es igual que `orden`) Ejemplo:
[adrian@laptop-adrian ~]$ echo `date`
dom oct 31 01:50:46 VET 2010
[adrian@laptop-adrian ~]$ echo $(date)
dom oct 31 01:50:56 VET 2010

Si var existe y no es nula, proporciona cadena en caso contrario proporciona el


valor nulo
Proporciona el valor de la variable var, en caso contrario proporciona cadena
Proporciona el valor de la variable var, en caso contrario asigna cadena a var y
lo proporciona como resultado.
Proporciona el valor de la variable var, en caso contrario visualiza var seguido
por cadena
Proporciona el valor de la variable var o cero si la variable var no esta definida.
Se utiliza cuando hay que aadir algo al valor.
x=Hola luego realizo echo $x con lo cual mostrara por las salida
estndar Hola pero si quiero que muestre Holanda no puedo ponerecho
$xnda debo poner echo ${x}nda
Se usa para que el shell trate lo encerrado en ellas siempre como literal.
Agrupa comandos en un sub shell, se usa cuando hay precedencias mayores.
(date; who) | wc no ser lo mismo que date; who | wc
Cualquier cadena de cero o ms caracteres.
Denota el directorio actual, generalmente usado para ejecutar aplicaciones.
Es muy comn que se cometa el error cuando se manejan archivos ocultos (que

/L..a/
1>&2
2>&1
2>/dev/null

;
< pp
> pp
>> pp
?
p1 && p2
P1 || p2
sh pp
var=$pp
var=hola

[]

`orden`

empiezan por punto). Ejemplo.


ls -l /home/pepe/.* no solo listara todos los directorios y subdirectorios
que empiezan por punto, sino que tambin, listar los archivos del directorio
padre ".." (/home). Si esto se comete con otros comandos
como chown o rm el error podra ser ms grave.
Cualquier cadena que empiece con L y termine con a (Lana, Losa, Luna)
Coloca la salida estndar en la salida error estndar (0 la EE; 1 es la SE; 2 es la
SEE)
Coloca el error estndar en la salida estndar (0 la EE; 1 es la SE; 2 es la SEE)
Redirecciona el Error Estndar al pozo ciego de Linux, utilizarlo en:
find / -iname pp 2>/dev/null para que no ensucie la terminal con
elementos como:
/var/log/..: Permiso denegado
Se puede ejecutar ms de un comando en una sola lnea de comandos separando los
comandos con un punto y coma (;)
Toma la entrada de un programa desde pp (short < pp es similar a short
pp)
Colocar la salida en el archivo pp, el archivo ser creado en caso de no existir y si
ya existe su contenido ser remplazado.
Opera igual que > con la diferencia que aade al final del archivo
Cualquier carcter, solo un carcter
Ejecuta p1, si lo logra, ejecuta p2
Ejecuta p1, si no se logra, ejecuta p2
Le indica al shell que tome la entrada del archivo pp
Agrego a la variable el valor pp
Asigna a la variable var el valor hola
Una lista de caracteres rodeados por [ y ] concuerda con cualquier carcter de esa
lista; si el primer carcter de la lista es el acento circunflejo ^ entonces concuerda
con cualquier carcter de fuera de la lista. Por ejemplo, la expresin
regular [0123456789]concuerda con cualquier carcter dgito, [Hh]ola,
satisface a Hola como a hola.
[a-zA-Z] cualquier carcter formado por letras maysculas o minsculas
Antes de un carcter especial hace que dicho carcter sea interpretado literalmente,
como por ejemplo cuando tenemos que referirnos a nombres con espacios
$cd carpeta\ sin\ ttulo/
O tenemos que buscar una cadena que contenga por ejemplo el carcter * entonces
ser \*
Principio de cadena (lnea), grep '^h' notas muestra lneas de notas que
empieza por h
El shell sustituye el resultado de la orden (es igual que $(orden)) Ejemplo:
[adrian@laptop-adrian ~]$ echo `date`
dom oct 31 01:50:46 VET 2010
[adrian@laptop-adrian ~]$ echo $(date)
dom oct 31 01:50:56 VET 2010

Coloca la salida estndar de un programa en la entrada estndar del otro (Esto es


una interconexin o Pipes).
ls | wc -1 Cuenta los archivos.

Lo que esta encerrado entre apostrofes ser interpretado literalmente