Partage
  • Partager sur Facebook
  • Partager sur Twitter

[bash] commande cut

comment obtenir le dernier champ?

    30 décembre 2006 à 12:43:27

    Bonjour, voila j'ai un petit soucis avec la commande cut sous linux :

    voila par exemple je tapes cette commande :

    echo "dir1/dir2/toto" | cut -d / -f2


    et donc j'obtiens bien la chaine "dir2".
    Mon problème et que j'aimerais récupérer le chemin dir1/dir2 ( je pourai le faire avec cut f1,2 ) mais pour n'importe quel chemin par exemple "dir1/dir2/dir3/dir4/toto" je voudrai obtenir "dir1/dir2/dir3/dir4" d'une part et "toto" d'une autre part.

    J'espère que mon explication n'est pas trop confuse. En gros j'aimerais pouvoir faire un cut et garder le dernier champ par exemple.

    Quelqu'un aurait-il une idée?
    • Partager sur Facebook
    • Partager sur Twitter
      30 décembre 2006 à 17:19:10

      oh mon dieu et moi qui cherchait 10x plus compliqué lol
      j'ai fini par trouver comme ça :

      entree=$PWD/$i
      fichier=`echo $entree | awk 'BEGIN{FS="/"} {print $NF}'`
      pos=`echo $entree |awk 'BEGIN{FS="/"} {print NF}'`
      typeset -i pos
      pos=pos-1
      dir=`echo $entree | cut -d / -f0-$pos`


      avec $i = /etc/bin/truc par exemple
      ça marchait mais c'est beaucoup plus simple avec dirname :p
      • Partager sur Facebook
      • Partager sur Twitter

      [bash] commande cut

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown