26/04/2012, 09:01
|
|
Respuesta: Problema con programación scripts shell. Como has escrito que no sabés lo que hacen -name, -iname y -regex, empecemos por ahí.
-name acepta una expresión GLOB (no regex), y busca archivos cuyo nombre coincida con ella. Busca en internet las diferencias entre glob y regex.
-iname es igual que -name, salvo que no hace diferencias entre mayúsculas y minúsculas.
-regex es similar a -name excepto que aplica una expresión regular (regex, no GLOB) y la aplica a TODA la ruta, no solamente al nombre.
Si tu 'find' aplica una expresión regular vía grep a la salida de ls, -regex es trivial para implementar. Como el parámetro de -name es un glob, puede ser simplemente pasado como parámetro de ls (antes de pasar la salida a grep).
-iname es un poco más complicado, no se puede hacer con ls. Te sugiero que lo que te pasen como parámetro a -iname lo pases a "grep -i", sustituyendo de alguna manera los asteriscos (que grep no entenderá directamente)
Prueba y comenta lo que salga :)
Saludos. |