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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [Unix Cshell] parcourir tous les fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Unix Cshell] parcourir tous les fichiers

n°884688
micsp24
Posté le 07-02-2007 à 08:26:47  profilanswer
 

Bonjour,
 
J'ecris un script qui doit parcourir tous les fichier et répertoire du répertoire que je lui passe en paramètre.
Cela fonctionne mais lorsqu'il y a un nom de fichier avec un espace comme : "Nouveau fichier",  ma boucle va traiter "Nouveau" et "fichier" comme 2 fichiers différents...
Ce qui est logique mais je ne vois pas comment je pourrais faire pour qu'il traite le fichier comme il faut...
 
Voici ma boucle :
 

Code :
  1. foreach fich (`ls $1`)
  2.   echo $fich
  3. end


 
Quelqu'un aurait une idée?   :??:  
 
Merci  :jap:

mood
Publicité
Posté le 07-02-2007 à 08:26:47  profilanswer
 

n°884698
wedgeant
Da penguin inside
Posté le 07-02-2007 à 09:02:57  profilanswer
 

Je connais pas cshell mais en bash ça donnerait pour que ça marche

Code :
  1. for fich in $1; do
  2.     echo $fich
  3. done



Message édité par wedgeant le 07-02-2007 à 09:03:05

---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
n°884712
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 07-02-2007 à 10:13:52  profilanswer
 

utilise find


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°885079
micsp24
Posté le 08-02-2007 à 12:54:23  profilanswer
 

bonne idéé je vais essayer le find.
 

n°885113
l0ky
Posté le 08-02-2007 à 14:43:18  profilanswer
 

use find luke [:neriki]

n°885577
micsp24
Posté le 10-02-2007 à 01:59:45  profilanswer
 

C'etait juste un probleme de quote.
 
Ceci fonctionne :  
 
foreach fich ("'ls $1'" )
  echo $fich
end


Message édité par micsp24 le 11-02-2007 à 15:45:37
n°885586
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 10-02-2007 à 07:36:26  profilanswer
 

[:pingouino]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°885616
l0ky
Posté le 10-02-2007 à 12:29:51  profilanswer
 


Traduction :
:heink: Heu ca sert à rien ton truc là, à part ralentir ls :heink:
:heink: "ls rep1 rep2 rep3" fait aussi bien l'affaire        :heink:

n°885832
micsp24
Posté le 11-02-2007 à 15:47:40  profilanswer
 

arf je me suis tromper dans les quotes, ça marche comme ceci :
 
foreach fich ("`ls $1`" )
  echo $fich
end
 
c'est bizarre mais cela fonctionne, il gere bien les nom de fichiers avec des espaces...
 
Si je ne met pas les " ", cela bug avec les fichiers comprenant des espaces :s

n°895380
kemkem
back to the /s
Posté le 16-03-2007 à 16:09:27  profilanswer
 

Clairement, find :
 
find /path | while read filepath
do
 echo $filepath
done
 
de plus find propose un paquet d'option interessantes


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

  [Unix Cshell] parcourir tous les fichiers

 

Sujets relatifs
acces serveur unix avec PUTTY|UNIX]Probleme d'acces à un dossier à cause de son nom !
besoin d'aide msdos parametre fichiers batCherche système de fichiers pour grande taille de volume
Serveur de fichiers sur une Debian Testing ?récuperation de fichiers supprimés par avast
script shell : utiliser la durée des fichiers audioscript unix - comparer plusieur repertoires
Les fichiers rar sous Mandriva 2007Pour les pro du script bash - Supprimer les fichiers < 1k
Plus de sujets relatifs à : [Unix Cshell] parcourir tous les fichiers


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