[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