Dans la question, vous avez mélangé - et - ainsi que " et ". Ce sont des caractères différents. Pour moi, cette commande donne cette erreur :
find: unknown predicate `-n'
trouver interpréter –type
, –name
y –exec
(et tout ce qu'il y a entre les deux) en tant que chemin/noms de fichier et tombe ensuite sur -n.
Veuillez vous assurer que vous avez entré la commande correctement (en ce qui concerne le problème du trait d'union/timbre).
Cependant, vous avez dit que, selon sudo
vs sudo su
la commande fonctionne ou pas. Je suppose donc pour l'instant qu'il s'agit d'un problème de copier-coller, comme cela a déjà été suggéré dans un commentaire. (Éventuellement, il pourrait s'agir d'un effet lié à la locale également - je n'en suis pas sûr).
Vérifiez que vous êtes dans le bon chemin.
find . -exec pwd {} + | sort -u
Devrait montrer le chemin dans lequel la commande find s'exécute (et les messages d'erreur, dus à de fausses options de ligne de commande - les chemins ajoutés par find - à pwd
).
Aussi, que grep
Le regex semble être erroné : "*rds" est faux, *
signifie "le caractère précédent un nombre quelconque de fois", comme grep "Hel*o" . -r
cherche des fichiers, contenant le monde Heo
ou Helo
ou Hello
ou Helllo
et ainsi de suite. Si vous voulez rechercher tous les fichiers qui contiennent la chaîne de caractères rds.amazonaws.com
indépendamment de ce qui est avant rds
alors vous devez simplement utiliser le terme de recherche "rds\.amazonaws\.com\>"
. \.
parce que vous recherchez un point littéral (et non un caractère quelconque, "H.llo"
recherche Hello
ainsi que Hallo
(et d'autres mots bidons comme H5llo
), et le \>
parce que com
doit être la fin du mot, donc il ne correspond pas à comic
.
Si rien de tout cela ne vous aide, améliorez votre question en ajoutant des résultats de fichiers listés en fonction de ce que vous avez fait exactement.
Oh, et bienvenue à Stackoverflow, Nabil Aziz.