Foros del Web » Administración de Sistemas » Unix / Linux »

problema con script de linux

Estas en el tema de problema con script de linux en el foro de Unix / Linux en Foros del Web. Hola, tengo un pequeño problema conun script de linux. el script que tengo es el siguiente : Cita: var = $(echo -E "*.$1") find .-name ...
  #1 (permalink)  
Antiguo 08/05/2012, 19:07
 
Fecha de Ingreso: diciembre-2011
Mensajes: 134
Antigüedad: 13 años
Puntos: 5
problema con script de linux

Hola, tengo un pequeño problema conun script de linux.

el script que tengo es el siguiente :

Cita:
var = $(echo -E "*.$1")
find .-name "$var"|while read fn;do
echo $(echo "$fn")
done

en teoria pretendo hacer un script que me localice todos los archivos segun la extension que tengan (.tx , .sh etc etc ) y luego trabajar con ellos, bien borrandolos y otras opciones.

de primeras, este escript deberia servir para poder localizar todos los archivos y poder enseñarlos todos uno a uno. pero no me funciona. ¿alguno ve donde esta el error?
  #2 (permalink)  
Antiguo 09/05/2012, 06:27
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema con script de linux

Hay varios errores:
Código BASH:
Ver original
  1. var = $(echo -E "*.$1") # no se permiten espacios entre el nombre de la variable y =
  2. find .-name "$var" # debe haber un espacio entre el punto y -
  3. find .-name "$var" # si $var contiene más de un nombre de archivo, esto es incorrecto

Comentario aparte: estás reimplementando inútilmente funcionalidad que find ya tiene, lo que escribiste se puede reescribir como
Código BASH:
Ver original
  1. find . -name "*.$1" -exec echo {} \;
eso suponiendo que en el caso general necesitás hacer cosas con los archivos y no solamente imprimir su nombre, si este fuese el caso, basta con
Código BASH:
Ver original
  1. find . -name "*.$1"

Saludos.

Etiquetas: linux
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:54.