Boucle avec sed

Résolu
Llorenzaccio -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
j'ai dans un fichier le résultat d'un ls -l (appelons-le list, il contient donc des lignes du style :
-rw-r--r-- 1 pseudo bla 75019 Feb 26 13:36 list
-rw-r--r-- 1 pseudo bla 318 Feb 26 13:36 link.sh
-rw-r--r-- 1 pseudo bla 317 Feb 26 13:36 link.sh~
).
Je voudrais récupérer un à un les noms de fichier (ici, list, link.sh et link.sh~) pour effectuer un traitement sur chacun. J'ai essayé comme ça, mais ça ne marche pas :

ls -l ../../scatter36/ > l;
lignes=$(wc -l l);
lignes=$(echo $lignes | awk 'BEGIN{FS=" "} {print $1}');

for((i=0 ; i<lignes ; i++))
do
#file=$(sed -n $ip l | awk 'BEGIN{FS=" "} {print $9}');
#echo $file;
echo ;
done

Merci !
Configuration: Linux Fedora / Firefox 3.0.15

1 réponse

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    for files in $(ls -1 ../../scatter36)
    do
    ...
    ...
    done


    C'est un UN dans l'expression "ls -1"
    0
    1. Llorenzaccio
       
      Merci !
      Je savais pas qu'on pouvait utiliser files...
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > Llorenzaccio
         
        Tu utilises ce que tu veux comme nom de variable...

        for truc in ...
        for machin in ...
        for A in ...
        etc.
        0