IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Substr en shell


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut Substr en shell
    Bonjour, je suis débutant.

    J'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # !/bin/sh
     
    # Boucle pour lister les *.tif
     
    for rep in `ls *.tif`; do
     
            long=`expr length $rep`;
            taille=$[$long - 4];
            result=$[`expr substr $rep 0 $taille`];
            echo $result;
    done
    mais le $result me renvoie 0

    Quelle est la syntaxe exacte pour qu'il puisse me retourner le résultat escompté ?

    Merci par avance

  2. #2
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut
    Bonjour,
    Si tu es en bash, il y une méthode plus simple :
    narma@linimi:~$ export f="monfichier.tif"
    narma@linimi:~$ export f2="monfichier.gif"
    narma@linimi:~$ export f3="monfichier.jpg"
    narma@linimi:~$ echo ${f%.???}
    monfichier
    narma@linimi:~$ echo ${f2%.???}
    monfichier
    narma@linimi:~$ echo ${f3%.???}
    monfichier

  3. #3
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    Merci ça marche nike mais par contre je ne vois pas pourquoi le substr ne fonctionnait pas ...

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Citation Envoyé par syl2095
    Merci ça marche nike mais par contre je ne vois pas pourquoi le substr ne fonctionnait pas ...
    Ta syntaxe pour la substitution de commandes me semble étrange.

    soit result=$(expr substr $rep 0 $taille);

    soit result=`expr substr $rep 0 $taille` (obsolète)

    Sinon la solution de narmataru est plus élégante et concise.
    http://www.tldp.org/LDP/abs/html/str...ml#SUBSTRINGEX

  5. #5
    Membre émérite
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Par défaut
    ok merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. bourne shell tester la valeur de last substring
    Par pcouas dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 08/09/2011, 17h44
  2. Retour de requete postgresql / Shell Script
    Par doohan dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/06/2003, 18h07
  3. [SHELL] Icônes associées à des fichiers
    Par agh dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 09/04/2003, 17h04
  4. [Kylix] probleme pour lancer le shell
    Par miky dans le forum EDI
    Réponses: 5
    Dernier message: 13/08/2002, 09h39
  5. Réponses: 2
    Dernier message: 10/07/2002, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo