Dans mon répertoire ~ / docs, je veux "toucher" tous les fichiers se terminant par .txt
Comment puis-je faire ceci?
Dans mon répertoire ~ / docs, je veux "toucher" tous les fichiers se terminant par .txt
Comment puis-je faire ceci?
Réponses:
Avec find:
find ~/docs -name "*.txt" -exec touch {} \;
~/docsnameoption correspondra à tous les txtfichiers - execexécutera la commande touchsur le nom de fichier, qui est substitué dans{}\;termine la commande et touchsera appelé une fois pour chaque fichier trouvéRemarque:
\+à la fin construit une seule commande à exécuter touchsur tous ces fichiers à la fois. Ce n'est pas possible avec toutes les commandes, mais cela fonctionne touchet vous permet d'économiser quelques appels si vous avez beaucoup de fichiers affectés.
{} \+serait mieux ici ...touchpeut gérer de nombreux noms de fichiers sur sa ligne de commande, donc par exemple, avec 10 000 fichiers et{} \;10 000 appels seront effectués verstouch... L'utilisation{} \+n'appelleratouchqu'une seule fois (selon la mémoire disponible) ... Ici est un extrait de de trouver l' homme-page:-exec command {} + ... The command line is built in much the same way that xargs builds its command lines. Il y a plus de détails dans laman finddocumentation.