Commande touch

Bonjour,

J'aimerai savoir comment utiliser la commande touch pour pouvoir modifier la date de modification des fichiers.
Ce que j'aimerai faire c'est modifier la date de chacun des fichiers, dossiers enfants ou descendant du répertoire et de ces descendants en une seule ligne de commande.

Est-ce possible ou dois je faire a chaque répertoire touch afin de mettre en place le changement de date.

Merci pour vos réponses.

2 réponses

  1. Contributeur
    Salut,

    En une je ne pense pas que cela soit possible, mais en deux, oui ;-)

    Une 1ère pour changer les dates sur les répertoires et une 2nd pour changer celles des fichiers, et tout ça couplé à la commande "find"...
    1. Modérateur
      Utilise find combiné avec xargs et l'option -d de touch:
      johand@osiris: ~/tmp $ mkdir brol  
      johand@osiris: ~/tmp $ touch brol/file{1,2}  
      johand@osiris: ~/tmp $ mkdir brol/truc  
      johand@osiris: ~/tmp $ touch brol/truc/file{1,2}  
      johand@osiris: ~/tmp $ find brol -print0 | xargs --null touch -d 20000601  
      johand@osiris: ~/tmp $ find brol -ls  
      1572939    4 drwxr-xr-x   3 johand   johand       4096 jun  1  2000 brol  
      1572970    0 -rw-r--r--   1 johand   johand          0 jun  1  2000 brol/file2  
      1572959    0 -rw-r--r--   1 johand   johand          0 jun  1  2000 brol/file1  
      1573019    4 drwxr-xr-x   2 johand   johand       4096 jun  1  2000 brol/truc  
      1573071    0 -rw-r--r--   1 johand   johand          0 jun  1  2000 brol/truc/file2  
      1573056    0 -rw-r--r--   1 johand   johand          0 jun  1  2000 brol/truc/file1

      man find; man xargs; man touch
      Gates gave ^H sold you the windows.
      GNU gave us the whole house.(Alexandrin)