Résolu le 5-06-19 Modification date des fichiers d'une arborescence

Questions concernant les lignes de commandes
Répondre
Avatar du membre
tioker
Messages : 362
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Modification date des fichiers d'une arborescence

Message par tioker » mar. 4 juin 2019 23:10

Bonjour,

En deux mots, je veux mettre toute l'arborescence d'un répertoire à une certaine date (antérieure).
J'ai bien trouvé

Code : Tout sélectionner

touch -t 17890714120000 Repertoire
mais ça ne modifie pas ce qu'il y en dessous (si j'ai bien lu le "man" et le "help").

Finalité: remettre dans le passé les répertoires de ma bibliothèque musicale que j'ai modifié en leur ajoutant des photos de pochettes disque et ainsi ne voir que les VRAIS éléments récemment ajoutés.

PS: plutôt une commande qu'un script si c'est pas trop demandé :l .

Merci
Linux Mint 19.1 Cinnamon 64 bits sur Dell Optiplex 9020 - i5-4590S 3.0Ghz - Mem 8Go - SSD 500Go (4 partitions)
Sinon: Ubuntu 19-04 Gnome [shell] - NAS Syno DS214se 2*3To Radi1 (Documents Musique Images Vidéos) - Google Drive (Documents) synchronisé avec NAS - Chrome[base/book/cast], Android [7/TV] - Box 4K SFR

Avatar du membre
arghlub
modérateur
Messages : 6441
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: Modification date des fichiers d'une arborescence

Message par arghlub » mer. 5 juin 2019 00:25

salut tioker ;)

ouais pas de "récursif" sur touch.

faudrait faire une boucle ('if .... fi' ou un 'for')..... il devrait y avoir moyen de faire ça en une ligne.... (atta je vais y réflechir, demain .... là je vais dormir..... )
Tour (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go DDR4 3GHz | tripleBoot : Debian 10 | MXlinux | LMint 19.2 Tina | XFCE
Portable Lenovo G50-80 (boosté RAM+SSD) | CPU Intel I3-4005U | RAM 8Go | tripleBoot avec “/data” commune : LMint 18.3 Sylvia | MXlinux | LMint 19.2 | XFCE
+ autres PCs + RaspberryPis + VMs ...
─────( pour une informatique libre ! -membre de l' April.org )────────────────

Avatar du membre
cyrille
Messages : 2931
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nord - Avesnois
Contact :

Re: Modification date des fichiers d'une arborescence

Message par cyrille » mer. 5 juin 2019 10:36

Code : Tout sélectionner

find date/  -print0 | xargs -0 -I '{}' touch -r '{}' -d '+2 day' '{}'
avec date/ le répertoire à modifier

En pratique

Création d'un répetoire à plusieurs niveaux et fichiers de test

Code : Tout sélectionner

ragnarok@Fenrir:~$ mkdir -p date/sousdate
ragnarok@Fenrir:~$ touch date/test date/test2 date/sousdate/test3 date/sousdate/test4
On regarde les dates

Code : Tout sélectionner

ragnarok@Fenrir:~$ ls -lR date/
date/:
total 4
drwxr-xr-x 2 ragnarok ragnarok 4096 juin   5 10:33 sousdate
-rw-r--r-- 1 ragnarok ragnarok    0 juin   5 10:33 test
-rw-r--r-- 1 ragnarok ragnarok    0 juin   5 10:33 test2

date/sousdate:
total 0
-rw-r--r-- 1 ragnarok ragnarok 0 juin   5 10:33 test3
-rw-r--r-- 1 ragnarok ragnarok 0 juin   5 10:33 test4
On les avances de 2 jours

Code : Tout sélectionner

ragnarok@Fenrir:~$ find date/  -print0 | xargs -0 -I '{}' touch -r '{}' -d '+2 day' '{}'
On vérifie

Code : Tout sélectionner

ragnarok@Fenrir:~$ ls -lR date/
date/:
total 4
drwxr-xr-x 2 ragnarok ragnarok 4096 juin   7  2019 sousdate
-rw-r--r-- 1 ragnarok ragnarok    0 juin   7  2019 test
-rw-r--r-- 1 ragnarok ragnarok    0 juin   7  2019 test2

date/sousdate:
total 0
-rw-r--r-- 1 ragnarok ragnarok 0 juin   7  2019 test3
-rw-r--r-- 1 ragnarok ragnarok 0 juin   7  2019 test4
C'est OK
# Me : DELL Lat E5430, SSD, 64-bit, RAM 8Go [ FreeBSD 12.0, xfce / Openbox ; DEBIAN SID via VirtualBox] | E7440, SSD, amd64, RAM 8Go [ DEBIAN SID, xfce]
# Me : VPS : 1 vCore 2 GHz , SSD, RAM 2Go, Local RAID, DEBIAN STABLE https://cbiot.fr
# Work : Serveur HP ProLiant ML 310e Gen 8 v2, DEBIAN STABLE | Parc DELL Lat E6* LINUX MINT, 18.3 Sylvia, amd64, XFCE.

All you need : #!/bin/bash | SVP les chiants pas de MP...

Avatar du membre
tioker
Messages : 362
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Modification date des fichiers d'une arborescence

Message par tioker » mer. 5 juin 2019 13:08

Hola merci les spécialistes de la ligne de commande !
@arghlub te creuse pas trop la tête, avec ce que nous a donné @cyrille, y'a de quoi passer un peu de temps.
@tous, ce qui est bien avec ce forum et particulièrement cette rubrique, c'est que non seulement on nous donne souvent la solution, mais en plus y'a matière à creuser, à s'enrichir, à découvrir, jusqu'à s"émerveiller de la puissance du shell...
Je teste demain (aujourd'hui pas possible) et vous fais un retour.
Merci
Linux Mint 19.1 Cinnamon 64 bits sur Dell Optiplex 9020 - i5-4590S 3.0Ghz - Mem 8Go - SSD 500Go (4 partitions)
Sinon: Ubuntu 19-04 Gnome [shell] - NAS Syno DS214se 2*3To Radi1 (Documents Musique Images Vidéos) - Google Drive (Documents) synchronisé avec NAS - Chrome[base/book/cast], Android [7/TV] - Box 4K SFR

Avatar du membre
serged
Messages : 145
Enregistré le : jeu. 16 juil. 2015 07:59
Localisation : Montrouge (France)

Re: Modification date des fichiers d'une arborescence

Message par serged » mer. 5 juin 2019 15:32

arghlub a écrit :
mer. 5 juin 2019 00:25
salut tioker ;)

ouais pas de "récursif" sur touch.

faudrait faire une boucle ('if .... fi' ou un 'for')..... il devrait y avoir moyen de faire ça en une ligne.... (atta je vais y réflechir, demain .... là je vais dormir..... )
Juste un magic "find" :

Code : Tout sélectionner

find -type f -exec touch -t 201901021100 '{}' \;
pour tout mettre au 2 janvier 2019 11h00.
Pratique ce find pour les commandes qui n'acceptent pas la récursion !
LinuxMint Tina Cinnamon 64 bits et d'autres machines en MATE

Avatar du membre
tioker
Messages : 362
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Modification date des fichiers d'une arborescence

Message par tioker » mer. 5 juin 2019 18:46

re-bonjour,
tioker a écrit :
mer. 5 juin 2019 13:08
Je teste demain (aujourd'hui pas possible) et vous fais un retour.
Bon, j'ai pas résisté, j'ai trouvé 5 minutes pour m'apercevoir ... que ça fonctionne.
Merci à vous trois !
Linux Mint 19.1 Cinnamon 64 bits sur Dell Optiplex 9020 - i5-4590S 3.0Ghz - Mem 8Go - SSD 500Go (4 partitions)
Sinon: Ubuntu 19-04 Gnome [shell] - NAS Syno DS214se 2*3To Radi1 (Documents Musique Images Vidéos) - Google Drive (Documents) synchronisé avec NAS - Chrome[base/book/cast], Android [7/TV] - Box 4K SFR

Avatar du membre
cyrille
Messages : 2931
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nord - Avesnois
Contact :

Re: Modification date des fichiers d'une arborescence

Message par cyrille » mer. 5 juin 2019 19:30

bien sûr que ça fonctionne ;)
# Me : DELL Lat E5430, SSD, 64-bit, RAM 8Go [ FreeBSD 12.0, xfce / Openbox ; DEBIAN SID via VirtualBox] | E7440, SSD, amd64, RAM 8Go [ DEBIAN SID, xfce]
# Me : VPS : 1 vCore 2 GHz , SSD, RAM 2Go, Local RAID, DEBIAN STABLE https://cbiot.fr
# Work : Serveur HP ProLiant ML 310e Gen 8 v2, DEBIAN STABLE | Parc DELL Lat E6* LINUX MINT, 18.3 Sylvia, amd64, XFCE.

All you need : #!/bin/bash | SVP les chiants pas de MP...

Répondre