Bonjour à tous,
Je cherche à exécuter des commandes unix directement à partir d'un script perl. j'ai des fichiers dont l'extension est .fa.ct et je voudrais les modifier en .ct ; j'arrive très bien à le faire grace à la commande unix :
ls *.fa.ct | sed 's/\(.*\)\.fa\.ct/mv \1\.fa\.ct \1\.ct/g' | sh
mais quand je l'inclus dans mon script perl comme ceci :
D'un part, j'obtiens l'erreur :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #!/usr/bin/perl use strict; use warnings; my $rep = "/home/stephanie/Téléchargements/unafold-3.8/Liste25_négative"; chdir $rep; my @ss_file = glob('*.fa.ct'); foreach my $v (@ss_file) { `s/\(.*\)\.fa\.ct/mv \1\.fa\.ct \1\.ct/g` ; print $v."\n"; }
et ensuite cela ne modifie pas le nom de mes fichiers dans mon dossier. Peut être que ce type de commande n'est pas réalisable via perl ?Code:sh: Syntax error: word unexpected (expecting ")")
Merci d'avance pour vos réponses.