¿Cómo extraer cadenas que coincidan con expresiones regulares en la programación de shell?
a=$( expr 'helloworld20140501.txt' : '.*\([0-9]\{8\}\).*' )
echo $a
linux El shell puede asignar el resultado del comando a una variable. Un comando en el formato $(comando) devolverá la cadena de resultado después de la ejecución.
Después de ejecutar el comando anterior, el valor de la variable a es 20140501.
a=`echo ' helloworld20140501.txt'|sed 's/.*\([0-9]\{8\}\).*/\1/'`
Este comando realiza la misma operación, a la variable a se le asigna el valor 20140501