Programmation linux tcsh

ashark2211 -  
 ashark2211 -
Bonjour,

Travaillant dans un environnement tcsh, j'ai un soucis dans l'assignation d'un retour echo dans une variable.
Concrètement, la commande suivant dans un script
'
echo $1 | sed 's/\(.*\)\.[^\.]\+$/\1.LOG/'
'
me donne le nom du fichier passer en paramètre avec l'extension .LOG à la place de celle d'origine.
Le problème se pose lorsque je veux stocker cela dans une variable :
'
set NomFic = (echo $1 | sed 's/\(.*\)\.[^\.]\+$/\1.LOG/')
echo $NomFic
'
ne donne rien et
'
set NomFic = $(echo $1 | sed 's/\(.*\)\.[^\.]\+$/\1.LOG/')
echo $NomFic
'
me sort : "Nom de variable incorrect"

Merci pour l'aide...
A voir également:

1 réponse

dubcek Messages postés 19032 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
hello
essayer la commande entre back quotes
set NomFic = `echo $1 | sed 's/\(.*\)\.[^\.]\+$/\1.LOG/'` 
0
ashark2211
 
Hello

Nikel ca marche merci!

J'ai trouve une autre solution avec à la place de l'utilisation de sed :

$1:t:r pour recupérer le nom racine du fichier.

Merci encore

Bonne journee
0