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
Partager