Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1301 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [script] Date fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[script] Date fichier

n°1028290
got
Posté le 01-04-2008 à 11:17:30  profilanswer
 

bonjour,
 
sous linux je désirerai extraire le nom d'un ou plusieurs fichier modifier à la date d'aujourd'hui. comment puis-je :
     - lister le contenu d'un répertoire avec la date
     - analyser chaque date de fichier
     - retourner le/les fichier désiré
 
 
 
Merci
pour les infos que vous pourriez m'apporter...
 

mood
Publicité
Posté le 01-04-2008 à 11:17:30  profilanswer
 

n°1028293
o'gure
Modérateur
Multi grognon de B_L
Posté le 01-04-2008 à 11:19:44  profilanswer
 

avec find, regarde ses différentes options  dans le manpage [:spamafote]


---------------
Relax. Take a deep breath !
n°1028459
franceso
Posté le 01-04-2008 à 15:03:46  profilanswer
 

o'gure a écrit :

avec find, regarde ses différentes options  dans le manpage [:spamafote]

+1 :jap:
 
 
En plus, il y a plein de topics ici qui parlent de ça. Par exemple : http://forum.hardware.fr/hfr/OSAlt [...] 6447_1.htm


---------------
TriScale innov
n°1028464
got
Posté le 01-04-2008 à 15:08:37  profilanswer
 

Merci cela m'a l'air bien puissant comme fonction...
 
par contre chui pas très bon en script comment de manière générale je peux récupérer et traiter ce que me retourne la fonction... car en console cela me renvoi :
.
./nom_fichier.ext  
./nom_fichier2.ext
 
comment récupérer dans 2 variable les 2 nom de fichier et ignorer le . en première ligne?
 
Merci

n°1028475
franceso
Posté le 01-04-2008 à 15:16:12  profilanswer
 

Pour virer les répertoires, il existe d'autres options de find. Un petit tour dans la page de man t'en dira plus...
 
Par exemple :

find . -not -type d


 
Pour ce qui concerne la récupération des noms de fichiers et leur traitement ultérieur, si tu nous disais un peu ce que tu comptes faire ? La comme ça sans boule de cristal c'est un peu dur de deviner ;)


---------------
TriScale innov
n°1028492
got
Posté le 01-04-2008 à 15:43:01  profilanswer
 

comment ça... t'as pas de boules de crystal.. :-p  
 
en fait je veux faire un find -cmin -10 qui va me renvoyer les fichiers modifiés depuis 10 minutes si j'ai bien compris. Ensuite je veux prendre ces fichiers les changer de répertoire  en ayant pris soint de supprimer le fichier equivalent si il y est dans le répertoire de destination.
 
donc en gros si je peux placer ce que me retourne find dans x variable  
fichier$ fichier1$ etc... le reste je devrais y arriver :-p

n°1028503
franceso
Posté le 01-04-2008 à 15:54:15  profilanswer
 

got a écrit :

comment ça... t'as pas de boules de crystal.. :-p  
 
en fait je veux faire un find -cmin -10 qui va me renvoyer les fichiers modifiés depuis 10 minutes si j'ai bien compris. Ensuite je veux prendre ces fichiers les changer de répertoire  en ayant pris soint de supprimer le fichier equivalent si il y est dans le répertoire de destination.
 
donc en gros si je peux placer ce que me retourne find dans x variable  
fichier$ fichier1$ etc... le reste je devrais y arriver :-p

A priori, c'est pas une bonne idée de vouloir passer par N variables différentes si jamais tu devais avoir à scripter ça, il faudrait passer par une boucle, avec une variable qui prendrait successivement comme valeur les noms des fichiers à traiter.
 
Mais dans ton cas, c'est plus simple : tu devrais pouvoir faire ce que tu veux avec l'option -exec de find. Encore une fois, la page de man est ton amie...
 
 


---------------
TriScale innov
n°1028504
got
Posté le 01-04-2008 à 16:05:40  profilanswer
 

oui je comptai bien passé par une boucle... mais je regarde du coté de exec même si le probleme est que je vais surement pouvoir effectué mon déplacement avec exec mais pas supprimer le fichier dans le répertoire de destination si il est deja présent... remarque peut être que mv fait l'écrasement je viens d'avoir un flash !!!

n°1028507
franceso
Posté le 01-04-2008 à 16:20:19  profilanswer
 

sinon, tu peux mettre deux options -exec si tu veux faire deux actions sur le même fichier ;)


---------------
TriScale innov
n°1028510
got
Posté le 01-04-2008 à 16:28:40  profilanswer
 

yes je vais essayer.. mais sinon une idée de comment je pourrais faire avec une boucle.. même si je l'utilise pas c'est pour ma culture perso ;-)
 
j'essai de faire un :  

Code :
  1. for i in 'find ./CASTRANS -cmin -10'
  2. do echo "le fichier est :  $i"
  3. done


 
pour comprendre comment ça marche mais non le find ne s'éxecute pas... une idée?

mood
Publicité
Posté le 01-04-2008 à 16:28:40  profilanswer
 

n°1028521
franceso
Posté le 01-04-2008 à 16:51:51  profilanswer
 

il faut mettre des backquotes (``) autour de ta commande find pour qu'elle s'exécute.
 
Pour protéger les espaces potentiels dans les noms de fichiers retournés par find, il faudrait plutôt utiliser 'read' plutôt qu'une bête boucle 'for i in'
 
Au final, ça fait un truc genre

find . | while read FILE
do
  echo $FILE
done


---------------
TriScale innov
n°1028526
got
Posté le 01-04-2008 à 17:03:15  profilanswer
 

nickel ça va mieux comme ça...
 
Pendant que je te tiens ;-)
 
pour revenir sur fin et exec
j'essai ça :  

Code :
  1. find ./CASTRANS -cmin -10 -exec mv -f `{}` var/rep1/rep2/CASTRANS/ ;


et il me renvoi une erreur
find: missing argument to `-exec'
 
 
une idée lumineuse?
 
Merci pour tout :-)

n°1028549
o'gure
Modérateur
Multi grognon de B_L
Posté le 01-04-2008 à 19:05:05  profilanswer
 

\;


---------------
Relax. Take a deep breath !
n°1028553
o'gure
Modérateur
Multi grognon de B_L
Posté le 01-04-2008 à 19:17:36  profilanswer
 

et pas `{}` mais '{}'


---------------
Relax. Take a deep breath !
n°1028673
got
Posté le 02-04-2008 à 08:06:27  profilanswer
 

Merci c'est tout bon...  
avec {} seul sans ' '  
Ce que je voulais faire marche avec les 2 méthode... soit find + exec soit find + boucle... ça m'aura appris pas mal de choses merci à vous 2 ;-)

n°1028678
o'gure
Modérateur
Multi grognon de B_L
Posté le 02-04-2008 à 08:47:11  profilanswer
 

sinon tu as find et xargs [:god]


---------------
Relax. Take a deep breath !
n°1028687
franceso
Posté le 02-04-2008 à 09:21:18  profilanswer
 

o'gure a écrit :

sinon tu as find et xargs [:god]

[:nul] commence pas à donner pas de mauvaises habitudes de scripting aux nouveaux, toi [:klem3i1]


---------------
TriScale innov
n°1028744
o'gure
Modérateur
Multi grognon de B_L
Posté le 02-04-2008 à 10:59:03  profilanswer
 

Je lui donne le choix seulement, il fait ce qu'il veut [:cosmoschtroumpf]


---------------
Relax. Take a deep breath !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [script] Date fichier

 

Sujets relatifs
Extraire du texte "Highlited" (surbrillance) d'un fichier textescript pour effacer des dossiers de plus de X jours
Watchdog, fichier binaire apparaissant comme modifié.Fichier .htaccess portable multi-serveur ?
[RESOLU] Résultat commande système dans un script puis envoi par mailDeveloppement Scripts pour enregistrer un fichier
[Debian 4.0] Postfix ne suit pas le fichier aliases [script sheel] recuperer la date d'un fichier
Script pour ecrire la date dans un fichier 
Plus de sujets relatifs à : [script] Date fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR