Su expresión regular funciona tanto con un POSIX compatible awk
como con GNU awk
.
Dado el hecho de que los caracteres e
, i
y n
deben estar presentes de cero a tres veces, pero que no hay más restricciones, esta parte se puede eliminar del patrón como mount
sigue cualquier cosa o nada coincide de todos modos. print $0
No es necesario especificar la acción ( ) que también es la predeterminada.
Su comando puede entonces simplificarse para:
awk '/mount/'
Si desea que se use el rango, debe especificar algo después, aquí hay un ejemplo:
$ cat input
foo
mountx
mounte
mountee
mounteee
$ /usr/xpg4/bin/awk '/mount[ein]{0,2}$/' input
mounte
mountee
Es decir en Solaris donde el POSIX awk
está en /usr/xpg4/bin
.
Mismo comportamiento en la Mint 17.1 basada en Debian:
$ awk -V | head -1
GNU Awk 4.0.1
$ awk '/mount[ein]{1,2}$/' input
mounte
mountee
Sin embargo, parece que mawk
, que afirma el cumplimiento POSIX, no admite la expresión de intervalo (llave).
$ mawk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
$ mawk '/mount[ein]{1,2}$/' input
$
Este es un error conocido .