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 :

Programmer des lignes de commandes en perl


Sujet :

Linux

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 12
    Points
    12
    Par défaut Programmer des lignes de commandes en perl
    Bonjour,

    Je ne suis ni une as en ligne de commande, et encore moins en perl que je viens de découvrir.
    Cependant, j'aurais besoin de programmer des lignes de commande en perl pour ainsi éviter de retaper toutes les commandes et simplement de lancer le script.

    Je souhaiterai lancer la commande suivante :
    find negative/ -name '*.jpg' > negative.txt

    pour ensuite récupérer le fichier negative.txt afin de l'utiliser à la ligne d'en dessous
    perl ./createtestsamples.pl positive.txt negative.txt training

    La première commande me créer un fichier negative.txt dans mon répertoire, la seconde lance un script sur ce fichier (positive.txt est créée de la même manière que negative.txt).

    J'ai commencé de cette façon :



    #!/usr/bin/perl

    use File::Basename;
    use strict;

    #########################################################################
    # Permet de créer son propre haartraining
    #
    # perl essai.pl <positives_dir> <negatives_dir> <output_name>
    # ex) perl createtestsamples.pl positives.dat negatives.dat tests
    #
    # Author:
    # Date : 11/06/2009
    #########################################################################



    if ($#ARGV < 2) {
    print "Usage: perl createtestsamples.pl\n";
    print " <positives_dir_name>\n";
    print " <negatives_dir_name>\n";
    print " <output_name>\n";
    exit;
    }
    my $positive = $ARGV[0];
    my $negative = $ARGV[1];
    my $outputdir = $ARGV[2];

    my $cmd1 = 'find negative/ -name '*.jpg' > negative.txt';
    my $cmd2 = 'find negative/ -name '*.jpg' > negative.txt';
    my $cmd3 = 'perl ./createtestsamples.pl positive.txt negative.txt training';





    Le souci est qu'avec '*.jpg' dans cmd1 et cmd2, la ligne n'est pas correcte.


    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Il y a plusieurs façons de régler le problème. En voici une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $cmd1 = "find negative/ -name '*.jpg' > negative.txt";

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Effectivement !

    Merci bien !

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

Discussions similaires

  1. Quelle API pour traiter des paramètres d'un programme en ligne de commande ?
    Par Pierre8r dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 19/12/2008, 11h36
  2. exécuter un programme en ligne de commande
    Par karamasov dans le forum Général Java
    Réponses: 8
    Dernier message: 17/09/2008, 16h52
  3. Exécution programme en ligne de commande
    Par heddicmi dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 25/10/2006, 12h00
  4. Programme style ligne de commande
    Par inddzen dans le forum C
    Réponses: 12
    Dernier message: 31/08/2006, 16h53
  5. Réponses: 9
    Dernier message: 30/08/2006, 13h51

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