[eside-ghost] Problemas con awk al pasar paréntesis como parámetro

Jesus jebeur en gmail.com
Lun Oct 15 21:06:15 CEST 2007


Muy buenas!

Me he currado un scriptcillo con awk para quitar parte del nombre de
unos ficheros y el problema me viene al incluir parentesis en el texto
a eliminar...

El muy perro lo considera como un caracter de awk y me dice que falta
el otro parentesis... alguien sabe como escaparlo?

Aquí os va el script:

#!/bin/sh

if [ $# -lt 1 ]
then
        echo "Introduce la parte del nombre a eliminar de los ficheros
del directorio"
        echo "Puedes añadir un segundo parámetro y el texto modificado
será substituido por este"
        exit 1
fi


echo "El patron es " $1

if [ $# = 1 ]
then
        ls . | awk '/'$1'/{printf " \""$0"\" ";gsub("'$1'","");print
"\""$0"\""}' | xargs -n 2 mv
else
        echo "Será substituido por " $2
        ls . | awk '/'$1'/{printf " \""$0"\"
";gsub("'$1'","'$2'");print "\""$0"\""}' | xargs -n 2 mv
fi

Y al ejecutar...

KURO:/mnt/series/rome/1Temp# ./rmPartOfName.sh  \(

El patron es  (
awk: line 1: regular expression compile failed (missing ')')
(
awk: line 1: regular expression compile failed (missing ')')
(


Agur y gracias!

-- 

Jesus


Más información sobre la lista de distribución eside-ghost