Commande FIND et deplacement de fichiers
Fermé
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
-
Modifié par pcsystemd le 27/07/2016 à 16:39
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 - 28 juil. 2016 à 09:17
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 - 28 juil. 2016 à 09:17
A voir également:
- Commande linux déplacer un fichier
- Fichier rar - Guide
- Invite de commande - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Déplacer une colonne excel - Guide
4 réponses
Malekal_morte-
Messages postés
180304
Date d'inscription
mercredi 17 mai 2006
Statut
Modérateur, Contributeur sécurité
Dernière intervention
15 décembre 2020
24 660
Modifié par Malekal_morte- le 27/07/2016 à 16:43
Modifié par Malekal_morte- le 27/07/2016 à 16:43
Salut,
Pas besoin de xargs (mais ça marcherait oui), tu peux le faire comme ceci :
-exec permet d'exécuter une commande avec le paramètre {} qui est le résultat de ta recherche find
test avant bien sûr.
Veuillez appuyer sur une touche pour continuer la désinfection...
Pas besoin de xargs (mais ça marcherait oui), tu peux le faire comme ceci :
find . -type f -ctime +712 -name 'psql_*' -exec mv {} /tmp/ \;
-exec permet d'exécuter une commande avec le paramètre {} qui est le résultat de ta recherche find
test avant bien sûr.
Veuillez appuyer sur une touche pour continuer la désinfection...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
27 juil. 2016 à 18:10
27 juil. 2016 à 18:10
Salut,
Donc après ça ils n'existeront plus côté source ?
pouvoir déplacer ses fichiers dans les répertoires correspondants sur un autre disque. si le répertoire existe déjà juste déplacer les fichiers et si le répertoire n'existe pas déplacer ou créer le répertoire et déplacer les fichiers dedans.Tu veux déplacer les fichiers (et leur répertoire), pas seulement les copier ?
Donc après ça ils n'existeront plus côté source ?
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
28 juil. 2016 à 06:46
28 juil. 2016 à 06:46
Merci a vous deux.
Oui je veux déplacer et que cote source ils n’existent plus. En effet nous commençons a avoir un problème de place sur le disque ou ils sont actuellement.
Donc si je résume la commande complete ce serait :
Oui je veux déplacer et que cote source ils n’existent plus. En effet nous commençons a avoir un problème de place sur le disque ou ils sont actuellement.
Donc si je résume la commande complete ce serait :
find . -type f -name '*.png' -ctime +712 --exec rsync -avR --remove-source-files {} ../rep2/ \;
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
28 juil. 2016 à 07:40
28 juil. 2016 à 07:40
../rep2/Ça c'est mon répertoire de destination, à adapter de ton côté.
Adapte aussi le
-name;-)
Sinon la commande
rsynca aussi une option
--dry-runqui montre ce que fait la syntaxe sans l'exécuter réellement. À tester même si ça risque d'être un peut trop verbeux dans ton cas.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
28 juil. 2016 à 07:49
28 juil. 2016 à 07:49
Attention toutefois !!!
Extrait du
Extrait du
man rsync:
Note that you should only use this option on source files that are quiescent. If you are using this to move files that show up in a particular directory over to another host, make sure that the finished files get renamed into the source directory, not directly written into it, so that rsync can’t possibly transfer a file that is not yet fully written. If you can’t first write the files into a different directory, you should use a naming idiom that lets rsync avoid transferring files that are not yet finished (e.g. name the file "foo.new" when it is written, rename it to "foo" when it is done, and then use the option --exclude='*.new' for the rsync transfer).
pcsystemd
Messages postés
702
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
6 novembre 2024
23
28 juil. 2016 à 09:17
28 juil. 2016 à 09:17
Ok merci pour ces précisions.
Je teste dans la matinée
Je teste dans la matinée
27 juil. 2016 à 17:20
Je connais cette commande mais je ne suis pas certain que cela créait le répertoire si celui ci n'existe pas car il faut que les fichiers soient correctement déplacer dans son répertoire.
Par exemple :
./648/psql_1_0.jpg doit etre déplacer dans /path/648/psql_1_0.jpg donc si le répertoire n'existe pas dans /path/ il doit être créer.
Modifié par Malekal_morte- le 27/07/2016 à 19:06
c'est le paramètre --parents qui permet de copier avec l'arborescence complète.
Tu peux aussi faire un find pour construire un fichier tar.gz
et le détarer dans le répertoire voulu en gardant l'arborescence.
et après faire un find qui supprime tout.
L'avantage c'est que ça fait une sauvegarde en cas d'erreur.
Après c'est possible de lancer un find avec un sh -c pour lancer plusieurs commandes, mais je pense que la copie + suppression, c'est le plus simple, si tu as assez de place disque.
Peut-être que zipe aura une autre idée.
27 juil. 2016 à 19:13
Puis j'ai jeté un oeil aux options de , d'où ma question ;-)
Un truc du style :
Modifié par Malekal_morte- le 27/07/2016 à 19:25
En plus, je crois que les includes de rsync prennent les wildcard, du coup, on doit pouvoir se passer de find ?
genre :
27 juil. 2016 à 19:27
Non plus, car la date ( ) entre en ligne de compte ;-\