No entiendo bien el ejemplo dado por el man find
, ¿alguien puede darme algunos ejemplos y explicaciones? ¿Puedo combinar expresiones regulares en él?
La pregunta más detallada es así:
Escriba un script de shell changeall
, que tiene una interfaz como changeall [-r|-R] "string1" "string2"
. Se encontrará todos los archivos con un sufijo .h
, .C
, .cc
, o .cpp
y cambiar todas las apariciones de string1
a string2
. -r
es una opción para permanecer solo en el directorio actual o incluir subdirectorios.
NOTA:
- Para el caso no recursivo,
ls
NO está permitido, solo podríamos usarfind
ysed
. - Lo intenté
find -depth
pero NO fue compatible. Es por eso que me preguntaba si-prune
podría ayudar, pero no entendí el ejemploman find
.
EDIT2: Estaba haciendo una tarea, no hice preguntas con gran detalle porque me gustaría terminarlo yo mismo. Como ya lo hice y lo entregué, ahora puedo formular toda la pregunta. Además, logré terminar la tarea sin usar -prune
, pero me gustaría aprenderla de todos modos.
-prune
no solo funciona en los directorios (sino que, para los directorios, también impide ingresar los directorios que coinciden con esa condición, es decir, aquí los directorios coinciden con eso-name .snapshot
).