Decouper une chaine de caractere

Résolu
redanovich -  
 redanovich -
Bonjour,
pour commencer je voudrai vous remercier pour votre aide, mon besoin consiste à ce que découper le chemin vers un répertoire récupéré par "Find", pour n'avoir que deux chaine de caractère le dernier répertoire et le chemin vers ce derniers répertoire.
find . -name 'fichier.ext' > list.txt
donne :
./1111/22222/33333/fichier.ext
./1111/22222/33333/4444444/fichier.ext
./1111/22222/33333/4444444/555555/666666/fichier.ext

et moi je veux récupérer:
pour la première ligne "./1111/22222/" et "33333"
pour deuxième ligne "./1111/22222/33333/" et "4444444"
pour troisième ligne "./1111/22222/33333/4444444/555555" et "666666"
je suis nouveau sur shell, je j'avoue que je suis dépassé par ce problème

merci d'avance.

2 réponses

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

    $ cat plop
    ./1111/22222/33333/fichier.ext
    ./1111/22222/33333/4444444/fichier.ext
    ./1111/22222/33333/4444444/555555/666666/fichier.ext
    
    $ cat foo.sh
    #! /bin/bash
    
    while read line
    do
            LINE=$(dirname ${line})
            echo "Chemin = ${LINE%/*}"
            echo "Répertoire = ${LINE##*/}"
    done < plop
    
    $ ./foo.sh
    Chemin = ./1111/22222
    Répertoire = 33333
    Chemin = ./1111/22222/33333
    Répertoire = 4444444
    Chemin = ./1111/22222/33333/4444444/555555
    Répertoire = 666666
    
    $

    ;-))
    0
  2. redanovich
     
    mille merci , je vais pouvoir continuer ^^
    0