Existe-t-il un moyen de dire à la find
commande bash d’afficher ce qu’elle fait (mode commenté)?
Par exemple pour la commande:
find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
output:
Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102
...
find
, alors bravofind
amour a grandi un peu plus loin. merci :)find -L . -type l -delete -print
Que diriez-vous simplement d’utiliser
rm -vf
pour la sortie verbose rm.la source
rm
est cool, mais si je la remplace par quelque chose d'autre, je ne peux plus voir quels fichiers sont en cours de traitement (sauf si j'utilise l'echo
intérieur-exec
)Une alternative consiste à laisser les commandes être exécutées par
sh -x
:la source
shell
debug
Le mode sera assez clair sur ce qui est arrivé. MerciIl y a aussi
find -D xxxx
cela pourrait aider dans certains cas.Voici deux exemples de
find -D search
:find
Avec RHEL 6.3 ( v4.4):Utilisation de Cygwin 1.7 (
find
4.5):la source
La réponse de @ hlovdav était suffisante pour moi mais j'ai apporté quelques modifications pour mon usage personnel
Explication
pattern
null
séparée, importante si vous avez des noms de fichiers contenant des espaces ou des caractères inhabituelsxargs
en lecturenull
séparée, définissez chaque paramètre fictif d'enregistrement sur%%
Ceci garantit également que chaque fois qu'il utilise un seul argumentbash
commande, one-liner, tout y passe, doit être cité entre guillemets'
--
ce qui signifie tout ce que je fais après ce n'est pasxargs
oubash
options, mais des paramètres de position à mon script one-linerbash
script, vous pouvez accéder en%%
tant que$1
, argument de position n ° 1Remarque: vous pouvez modifier
%%
n'importe quoi, assurez-vous simplement que vous n'avez pas besoin de l'utiliser pour autre chose qu'un paramètre fictif. L' utilisation du dollar$
ou@
pourrait ne pas être bon, à moins que c'est à double@
comme@@
.la source