Puis les extensions de fichiers sont doublées. C'est à dire que le fichier . flac verra son extension devenir nom.flac.flac
titre=${nom_complet#*- } titre=${titre%.*} titre=${titre^}
Ceci étant ce petit exécutable que j'ai nommé test, quand je le lance il se renomme lui aussi en "test.test"
[[ ${fichier} == test ]] && continue
Donc au final :
#! /bin/bash
for fichier in *
do
[[ ${fichier} == test ]] && continue
nom_complet=${fichier,,}
extension=${nom_complet##*.}
prenom=${nom_complet%% *} prenom=${prenom^}
nom=${nom_complet#* } nom=${nom%% -*} nom=${nom^}
titre=${nom_complet#*- } titre=${titre%.*} titre=${titre^}
mv "${fichier}" "${nom} ${prenom} - ${titre}.${extension}"
done
le probleme des noms composés, c'est que c'est soit le prenom soit le nom qui l'est du coup, c'est galere... si ca avait toujours était l'un ou l'autre ce n'est pas dur...
djoulious a écritBonsoir,
J'aimerais de l'aide pour résoudre un problème:
J'utilise un script pour lancer une macro et j'aimerais qu'une fois que je relance le script ca me le stop.
Merci d'avance.
Voici le script en question.
#!/bin/bash
while :
do
cat ~/Documents/Script/TEST.macro | xmacroplay ":0.0"
sleep 596
done
un truc tout con : tu crée un fichier qui te servira à savoir si ton script est déjà lancé et qui contient le pid à kill.
#!/bin/bash
if [[ -e /tmp/xmacroplay_en_cours ]]
then
# le script est déjà lancé, on supprime le fichier est on le quitte
kill $(cat /tmp/xmacroplay_en_cours)
rm /tmp/xmacroplay_en_cours
exit
else
echo "$$" > /tmp/xmacroplay_en_cours
while :
do
cat ~/Documents/Script/TEST.macro | xmacroplay ":0.0"
sleep 596
done
fi
un truc du genre devrait passer...