N'importe qui a un autre moyen de rechercher et de copier des fichiers en bash que:
find . -ctime -15 | awk '{print "cp " $1 " ../otherfolder/"}' | sh
J'aime cette façon parce qu'elle est flexible, car je construis ma commande (peut par n'importe quelle commande) et l'exécute après.
Existe-t-il d'autres moyens de rationaliser les commandes dans une liste de fichiers?
Merci
Je recommanderais d'utiliser find
-exec
option:
find . -ctime 15 -exec cp {} ../otherfolder \;
Comme toujours, consultez la page de manuel pour de meilleurs résultats.
J'utilise habituellement celui-ci:
find . -ctime -15 -exec cp {} ../otherfolder/ \;
Si votre cp
est GNU:
find . -ctime 15 -print0 | xargs -0 cp --target-directory=../otherfolder
Vous pouvez le faire avec xargs
:
$ find . -ctime 15 -print0 | xargs -0 -I{} cp {} ../otherfolder
Voir aussi tilitaire grep dans le script Shell .
Utilisez-le pour la copie et bien d'autres choses:
for f in $(find /apps -type f -name 'foo'); do cp ${f} ${f}.bak; cmd2; cmd3; done;