Je ne comprends pas très bien l'exemple donné par le man find
, quelqu'un peut-il me donner des exemples et des explications? Puis-je y combiner une expression régulière?
La question la plus détaillée est la suivante:
Écrivez un script shell changeall
, qui a une interface comme changeall [-r|-R] "string1" "string2"
. Il trouvera tous les fichiers avec un suffixe .h
, .C
, .cc
ou .cpp
changer toutes les occurrences string1
à string2
. -r
est une option pour rester dans le répertoire actuel uniquement ou inclure les sous-répertoires.
REMARQUE:
- Pour les cas non récursifs,
ls
n'est PAS autorisé, nous ne pouvons utiliser quefind
etsed
. - J'ai essayé
find -depth
mais ce n'était PAS pris en charge. C'est pourquoi je me demandais si cela-prune
pouvait aider, mais je n'ai pas compris l'exemple deman find
.
EDIT2: Je faisais un devoir, je n'ai pas posé de question dans les moindres détails car j'aimerais le terminer moi-même. Comme je l'ai déjà fait et remis, je peux maintenant formuler toute la question. De plus, j'ai réussi à terminer le devoir sans utiliser -prune
, mais j'aimerais quand même l'apprendre.
-prune
ne fonctionne pas seulement sur les répertoires (mais, pour les répertoires, il empêche également d'entrer les répertoires correspondant à cette condition, c'est-à-dire ici les répertoires correspondant à cela-name .snapshot
).