Bonjour,
Je fais face à un problème assez gênant dans un script Bash que je suis en train de créer : Il semblerait qu'une des commandes disponibles (sed, pour ne pas la nommer) ne fonctionne pas à chaque fois...
Pour faire plus simple, voici mon code :
if [ "$#" -lt 1 ]; then
echo "USAGE: ./script_comparaison config_file.xml [config_file_1of2.xml]"
else
DATA=$(ls /home/benoit/Documents/IHUBordeaux/data/*FID*.h5)
#echo $DATA
for INPUT_KSPACE_DATA in $DATA
do
echo $INPUT_KSPACE_DATA
NAME=$(echo $INPUT_KSPACE_DATA | sed "s/FID/OUTPUT/g")
NAME=$(echo $NAME | cut -d '/' -f 7-8)
echo $NAME
echo $PATH
NAME_NEW=$(echo $NAME | sed "s/.h5/_standard.h5/g")
echo $NAME_NEW
NEW_NAME_1OF2=$(echo $NAME | sed "s/.h5/_1of2.h5/g")
echo $NEW_NAME_1OF2
FOLDER=$(echo $INPUT_KSPACE_DATA | cut -d '/' -f 1-6)
echo $FOLDER
#echo $PATH
#NAME=$(echo $INPUT_KSPACE_DATA | sed "s/FID/OUTPUT/g")
echo "----------------------------------------------------------------------"
done
fi
Et voici l'output pour un des fichiers concernés :
/home/benoit/Documents/IHUBordeaux/data/meas_MID00344_FID49410_cmrr_12s_100p_MB3_GP2_PF.h5
meas_MID00344_OUTPUT49410_cmrr_12s_100p_MB3_GP2_PF.h5
/home/benoit/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda-10.0/bin
./comparison_script: ligne 15: sed : commande introuvable
meas_MID00344_OUTPUT49410_cmrr_12s_100p_MB3_GP2_PF_1of2.h5
/home/benoit/Documents/IHUBordeaux/data
----------------------------------------------------------------------
On peut voir que le premier appel à sed (ligne 11) fonctionne, ainsi que le troisième (ligne 17), mais pas le deuxième (ligne 15), alors que la syntaxe est la même.
J'ai également essayé en mettant /bin/sed, sans succès.
J'utilise Bash, sous Ubuntu 18.04.
Quelqu'un aurait une solution à ce problème ? J'ai essayé plusieurs choses, toujours sans succès (inutile de dire qu'il semble bien que mon PATH ne soit pas modifié entre les appels à sed)