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

Shell et commandes GNU Discussion :

Lancer une commande Perl dans un script Shell


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 43
    Points : 28
    Points
    28
    Par défaut Lancer une commande Perl dans un script Shell
    Bonjour à tous,

    Ca fait des heures que je cherche sur le net comment lancer une simple commande Perl à partir d'un script Shell et je ne trouve rien !

    Je me tourne donc vers vous plein de désespoir...

    Voilà mon problème :
    J'ai une commande perl que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pi -e "s|\x7F|\x09|g" SalPerPaye_VAL.new
    et qui me permet de remplacer des caractères à l'intérieur de mon fichier SalPerPaye_VAL.new.

    Je voudrais automatiser cette commande via un shell en spécifiant en paramètres sur quel(s) fichier(s) la traiter. Voici ce que j'ai codé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    if [ $# -lt 1 ] 
    then 
    read F?"Fichier(s) a convertir :" 
    else 
    F=$* 
    fi 
     
    # traitement fichiers 
    for fic in $F 
    do 
    if [ ! -f $fic ] 
    then 
    echo $fic n\'est pas un fichier valide 
    continue 
    else
    perl -pi -e "s|\x09|\x7F|g" $fic
    echo $fic converti 
    fi 
    done
    Je n'ai aucun plantage, sauf que le traitement qui devrait être effectué par la commande Perl ne se fait pas (alors que si je mets la ligne seule dans mon interpréteur de commande ça marche nikel !).

    Comment faire donc pour lancer la commande perl sans encombre ??

    Merci d'avance pour votre aide !!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Points : 170
    Points
    170
    Par défaut
    Ca devrait fonctionner pourtant...
    Vous avez essayé avec 'sh -x' pour voir ce qui se passe ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 43
    Points : 28
    Points
    28
    Par défaut
    Heu oui en fait ça marche...

    En fait j'appliquais la bonne commande mais sur le mauvais fichier...
    Je sors !!

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

Discussions similaires

  1. Exécuter une commande sudo dans un script shell
    Par lodacom dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 24/04/2014, 13h37
  2. lancer une commande R dans perl
    Par karaudrey88 dans le forum Bioinformatique
    Réponses: 2
    Dernier message: 19/03/2012, 09h56
  3. lancer une commande linux dans un script perl
    Par hammag dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2007, 16h18
  4. [cURL] Lancer une commande curl dans un script php
    Par griese dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 22/03/2007, 10h52
  5. Réponses: 5
    Dernier message: 16/03/2007, 12h16

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