Captura de Grupos Desde una Expresión Regular Grep
Tengo este pequeño script en sh
(Mac OSX 10.6) para mirar a través de una matriz de archivos. Google ha dejado de ser útil en este punto:
files="*.jpg"
for f in $files
do
echo $f | grep -oEi '[0-9]+_([a-z]+)_[0-9a-z]*'
name=$?
echo $name
done
Hasta ahora (obviamente, para los gurús de shell) $name
simplemente contiene 0, 1 o 2, dependiendo de si grep
encontró que el nombre del archivo coincidía con el asunto proporcionado. Lo que me gustaría es capturar lo que está dentro de los paréntesis ([a-z]+)
y almacenarlo en una variable.
Me gustaría usar grep
solo, si es posible. Si no, por favor no Python o Perl, etc. sed
o algo parecido: soy nuevo en shell y me gustaría atacar esto desde el ángulo de *nix purist.
También, como un super-cool bonu s, tengo curiosidad en cuanto a cómo puedo concatenar cadena en shell? Es el grupo que capturé fue la cadena "somename" almacenada en name name, y quería agregar la cadena ".jpg " hasta el final, podría cat $name '.jpg'
?
Por favor, explique lo que está pasando, si tiene tiempo.
Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32
Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52