Forum Programmation.shell Traitement des variables

Posté par  .
Étiquettes : aucune
0
8
déc.
2006
Bonjour à tous,
Je réalise actuellement un petit script qui n'a qu'un but didactique mais je suis face à quelques problèmes :

droit=`ls -la $element | cut -d " " -f1`

Quand je réalise cette commande je récupère dans $droit les différents droits du fichier ainsi que son type.
En gros un echo $droit me donnera par exemple : -rwx---r--

J'aimerais pouvoir découper le contenu de la variable (dans une boucle for par exemple) afin d'extraire le type et les divers droits sur ce fichier.
Mais j'ai pas réussi :(

Dans le même esprit :
listing=`ls`


Je ne sais pas retourner les différents éléments donner par le ls a chaque occurence d'une boucle.

Si vous pouviez m'aider un peu je vous en serais reconnaissant :)
Merci ;)
  • # for truc in machin ?

    Posté par  . Évalué à 1.

    for i in `ls -la $element | cut -d " " -f1`
    do 
        echo "traitement avec $i"
    done


    Puis même chose, 

    for i in `ls`
    do 
        echo "plop plop plop $i"
    done


    A moins que j'ai mal compris ta question ?
    • [^] # Re: for truc in machin ?

      Posté par  . Évalué à 1.

      Merci de ta réponse.

      Pour

      for i in `ls`
      do
      echo "plop plop plop $i"
      done


      Pas de soucis c'est exactement ce que je recherchais et ca marche parfaitement.

      En revanche pour la variable contenant les droits , ce que je souhaite faire c'est retourner chaque lettre une par une afin de définir le type du fichier, les droits utilisateur, de groupe ...
      Tout cela dans le but d'afficher par exemple : droit de machin : lecture écriture
      J'avais penser à une sorte de cut -c qui se déplace d'un caractère a chaque occurrence mais d'après ce que j'ai compris on est obligé de lui spécifier un caractère défini
  • # idée

    Posté par  . Évalué à 1.

    for f in * ; do
    stat -c "%n %A" $f
    done

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.