Accéder au contenu.
Menu Sympa

linux-31 - Re: programmer en bash

Objet : Discussions sur le logiciel libre

Archives de la liste

Re: programmer en bash


Chronologique Discussions  
  • From: manu chez Z <emmanuel.courcelle AT zaclys.net>
  • To: linux-31 AT culte.org
  • Subject: Re: programmer en bash
  • Date: Wed, 4 Jan 2023 19:54:22 +0100
  • Authentication-results: pic2s.le-pic.org; dkim=pass (1024-bit key; secure) header.d=zaclys.net header.i= AT zaclys.net header.a=rsa-sha256 header.s=default header.b=R+ELaEln; dkim-atps=neutral

Le 04/01/2023 à 19:22, "jdd AT dodin.org" (via linux-31 Mailing List) a écrit :
Bonsoir,

J'ai besoin d'un coup de main pour un script en bash.

le but est le suivant:

soit un répertoire avec des fichiers en vrac. les transférer dans des répertoires ayant comme nom leur date de création

pseudo code:

* lire le nom du fichier sur la ligne suivant la commande;
* extraire la date de création, par exemple avec
 date -r <fichier> +"%y-%m-%d"
* créer un répertoire de ce nom
* y transférer le fichier

du genre, je ne suis pas du tout sur de ce qu'il faut utiliser comme quotes, entre autres:

#!/bin/bash

for a ; do
 b=date -r $a +"%y-%m-%d" ;
 test -e "$b" && mkdir $b ;
 mv $a $b ;
done
exit


merci
jdd

Salut

Je te propose ça:

for a in *
do
   b=$(date -r $a +%y-%m-%d )
   mkdir -p $b
   mv $a $b
done

Attention ça ne te classera pas tes fichiers selon la date de création, mais la date de dernière modification. cf. https://unix.stackexchange.com/questions/91197/how-to-find-creation-date-of-file

Amicalement,

Emmanuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page