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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Aide pour script bash

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour script bash

n°1268941
mozvillat
Posté le 05-03-2011 à 18:04:34  profilanswer
 

Bonjour à tous,
 
Débutant dans les scripts linux, je cherche des pistes pour faire le script suivant :
 
Dans un dossier defini dans le script j'aurai besoin de compter le nombre de fichier contenu dans des sous dossiers.
Si l'extension est .php, .php5, .html (...) et si le sous dossier ne contient qu'un fichier alors je le deplace vers le dossier defini.
Je supprime le dossier dorénavant vide.
Si le sous dossier contient plus d'un fichier alors je ne fais rien.
 
Toute aide est la bienvenue !!
 
Merci d'avance.

mood
Publicité
Posté le 05-03-2011 à 18:04:34  profilanswer
 

n°1268945
regexp42
Eplucheur de RFC.
Posté le 05-03-2011 à 19:26:08  profilanswer
 

Tu peux faire à peu près tout ça avec la commande "find".

n°1268948
mozvillat
Posté le 05-03-2011 à 20:15:22  profilanswer
 

peux tu m'en dire plus ?
 
La commande find va me permettre de trouver les fichiers avec les extensions recherchées ?
Par contre pour lister les sous dossiers je pensais regarder du coté de ls
Mais pour voir si il y a 1 ou x fichiers avec l'extension (ou les extensions) en fonction des sous dossiers ??
 
Je suppose qu'il va falloir faire un find /dossier/ -name *.php,*.php5 exec{}
 
Mais exec quoi exactement !

Message cité 2 fois
Message édité par mozvillat le 05-03-2011 à 20:21:21
n°1269043
regexp42
Eplucheur de RFC.
Posté le 06-03-2011 à 19:52:06  profilanswer
 

mozvillat a écrit :

Mais exec quoi exactement !


 
Je sais pas trop, je trouve pas ton message super clair, mais c'est peut-être moi qui suis fatigué.
 
Tu parles de compter, puis tu dis pas quoi faire du comptage, puis c'est assez vague cette histoire de "sous dossiers" et de "dossier défini".
 
Précisément et avec exemple si possible, qu'est-ce que tu veux faire ?


Message édité par regexp42 le 06-03-2011 à 19:52:23
n°1269045
BloodyCarn​age
Posté le 06-03-2011 à 20:32:11  profilanswer
 

mozvillat a écrit :

peux tu m'en dire plus ?
 
La commande find va me permettre de trouver les fichiers avec les extensions recherchées ?
Par contre pour lister les sous dossiers je pensais regarder du coté de ls
Mais pour voir si il y a 1 ou x fichiers avec l'extension (ou les extensions) en fonction des sous dossiers ??
 
Je suppose qu'il va falloir faire un find /dossier/ -name *.php,*.php5 exec{}
 
Mais exec quoi exactement !


 
Je ferais une crapulerie du genre:
 

for i in `ls -d`
  do
   count=`ls $i/|egrep -c .[ph][ht][mp]`
   if [ "$count" = "1" ]
     then
       mv $i/*.[ph][ht][mp]* /dossier/defini/qu'il/faut/peut-être/créer/avant
       rm -rf $i
   fi
  done


 
typos et autres "oops" sont inclus gratuitement mais ça ne doit pas être trop loin de l'idée générale.

n°1274272
Wobak
Come get some !
Posté le 14-04-2011 à 11:27:41  profilanswer
 

Je pense que le egrep -c .[ph][ht][mp] ne fonctionnera pas.
 
Il faudrait plutôt faire un  

Code :
  1. egrep -c ".ph*|.htm*"

Message cité 1 fois
Message édité par Wobak le 14-04-2011 à 11:27:51
n°1274274
roondar
Posté le 14-04-2011 à 11:40:36  profilanswer
 

Pour le count c'est plus propre de faire comme cela :  

Code :
  1. ls *.php* *.html|wc -l

n°1274286
BloodyCarn​age
Posté le 14-04-2011 à 12:51:37  profilanswer
 

Wobak a écrit :

Je pense que le egrep -c .[ph][ht][mp] ne fonctionnera pas.
 
Il faudrait plutôt faire un  

Code :
  1. egrep -c ".ph*|.htm*"



 
Ca fonctionne, mais ta méthode ne présente pas le risque - certes infime - de lister une extension qu'on ne veut pas.
 
Après, je doute que le gars s'intéresse encore à la réponse après 6 semaines.


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

  Aide pour script bash

 

Sujets relatifs
[FREEBSD] - Problème exécution scriptscript shell pour manipuler fichier csv
[Linux - Bash] organiser un groupe de lettres par ordre ALPHAScript transcodage mkv => avi - need testeurs !
[REGLE] bash: ./jext: Permission non accordée[bash] Aide SVP -> Script arborescence
Un petit peu d'aide avec un petit script bashaide correction script bash
[AIDE] script bash, CGI[aide pour ptit script en bash!]
Plus de sujets relatifs à : Aide pour script bash


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