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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  (BASH) Deplacer un fichier en fonction de son extension...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

(BASH) Deplacer un fichier en fonction de son extension...

n°786940
Clochette ​POWER
Posté le 26-02-2006 à 20:41:29  profilanswer
 

Je souhaite réaliser un script bash, qui une fois appelé listerai un dossier, et qui ferai un mv des fichiers placés dans ce dossier pour les placer dans un autre dossier en fonction de l'extension du fichier : du genre un .avi est place dans ~/video...
 
Comment pourrai-je faire... ???
MERCI d'avance...

mood
Publicité
Posté le 26-02-2006 à 20:41:29  profilanswer
 

n°786941
Sebou77
French Tech powaa :-)
Posté le 26-02-2006 à 20:43:09  profilanswer
 

commence par des tutorial :)
Car ça me parait relativement simple, donc tu ne dois pas avoir d'expérience dans la matière
Apprends, commence ton script et si t'as un problème reviens nous voir avec du code :D

n°786942
arsunik
ma tuxitude me beastifie
Posté le 26-02-2006 à 20:50:07  profilanswer
 

Ben tu peux faire encore mieux : trier les fichiers par type dans le repertoire associé, en fonction du type du fichier (même si le fichier est mal nommé donc) :

Code :
  1. for i in *; do
  2.   dir="$(file -b -i "$i" )"
  3.   mkdir -p "$dir"
  4.   mv "$i" "$dir"
  5. done


 
NB : pour voir ce que fait le script sans rien déplacer, tu ajoutes "echo " devant le "mv" à l'avant dernière ligne.

n°786976
Clochette ​POWER
Posté le 26-02-2006 à 22:34:37  profilanswer
 

et comment pourrai-je introduire un déplacement vers tel ou tel dossier en fonction de l'extension.

n°786977
goldyfruit
Je me lève et je confirme !
Posté le 26-02-2006 à 22:58:52  profilanswer
 

Avec des conditions. Je sais pas faire mais je suggère  :hello:


---------------
http://wiki.incloudus.com/display/DOC | http://blog.incloudus.com | http://wiki.goldzoneweb.info | http://www.stendhalclub.fr
n°786978
l0ky
Posté le 26-02-2006 à 23:04:19  profilanswer
 

tu fais un case


case $i in
  ".txt" )
    mv sdf sdf
   ;;
  *)
    mv fds fsd
  ;;
esac

n°786990
Clochette ​POWER
Posté le 26-02-2006 à 23:40:12  profilanswer
 

avec avant sdf par exmple le chemin absolu du dossier ou je veux les placer... ???

n°786994
arsunik
ma tuxitude me beastifie
Posté le 26-02-2006 à 23:57:26  profilanswer
 

Clochette POWER a écrit :

et comment pourrai-je introduire un déplacement vers tel ou tel dossier en fonction de l'extension.


 
Faut faire un pti effort hein...

n°787027
l0ky
Posté le 27-02-2006 à 07:42:29  profilanswer
 

Clochette POWER a écrit :

avec avant sdf par exmple le chemin absolu du dossier ou je veux les placer... ???


 

arsunik a écrit :

Faut faire un pti effort hein...


n°788734
yolas22
Posté le 03-03-2006 à 15:30:31  profilanswer
 

bonjour
 
Juste comme sa en compliquant les choses , imaginont que le repertoire darriver de video soit un repertoire de téléchargement comment faire pour deplacer le fichier seulement une fois le telechargement fini.
je ne demande pas de code juste une indication un indice si vous avez et rien si vous n'avez rien :) .
( solution UNIX linux c ok)  

mood
Publicité
Posté le 03-03-2006 à 15:30:31  profilanswer
 

n°788867
arsunik
ma tuxitude me beastifie
Posté le 03-03-2006 à 20:12:56  profilanswer
 

Si le repertoire est sur la même partition, tu peux le déplacer pendant le téléchargement.
Sinon, tu peux utiliser une des méthodes suivantes :

Code :
  1. fuser <fichier>
  2. lsof <fichier>
  3. ls -l /proc/*/fd/* 2>/dev/null | grep <fichier>


n°789100
yolas22
Posté le 04-03-2006 à 18:18:59  profilanswer
 

Merci  
ArSunik je pensais aussi au lsof et au /proc pb majeur lsof n'est pas portale sur bcp de systeme (trop recent) et le /proc n'est diponible que sur peu de machine, aller savoir pourquoi.  
Je conclus que le lsof est obligatoire :\ .  
NB
fuser fonctionnne avec le /proc donc réponse  identique.
 
Merci mes craintes son confirmées il va falloir que j'etudie les OS en profondeur pour pouvoir faire tourner ma petite aplli .

n°789592
matafan
Posté le 06-03-2006 à 04:21:52  profilanswer
 

Sur quel(s) système(s) /proc n'est-il pas disponible ?

n°790169
yolas22
Posté le 07-03-2006 à 15:30:40  profilanswer
 

bjour
Pas sur quel(s) systeme(s) sur quel machine exemple avec des systemes AIX HP_UX anterieur a 11.0 ben 3 fois sur 5 le system de fichier /proc est indisponible raison pour laquelle fuser et autre commande fonctionne trés mal.  
 
Le systeme permet l'utilisation de /proc mais etrangement il n'y est pas présent.

n°790299
matafan
Posté le 07-03-2006 à 21:46:33  profilanswer
 

/proc existe sur AIX depuis 5.1, c'est a dire sur toutes les versions actuellement supportees. Si tu n'as pas de /proc, il faut le monter (mount -v procfs /proc /proc).

n°790487
yolas22
Posté le 08-03-2006 à 14:18:25  profilanswer
 

Merci matafan,  
 
je vais faire en sorte de mettre mes machines à jour meme si le probleme reste tjs ( impossible de modifier le systeme d'un inconu :)).
 
 


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

  (BASH) Deplacer un fichier en fonction de son extension...

 

Sujets relatifs
couper une partie d'un fichier binaire[resolu] Comment gerer les associations applications/type de fichier ?
[Bash] Explication de la commande wc[Résolu]Problème fonction mail
Restauration de fichier supprimé par inadvertanceConditions en bash
récupérer des "?" en ligne de commande bash/kshFichier pdf Taille
Linux : Affichage d un fichier de Log 
Plus de sujets relatifs à : (BASH) Deplacer un fichier en fonction de son extension...


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