bé ça marche pas 😃
(
mode: me tourne honteusement les pouces en attendant que les autres fassent le boulot)
DiskStation> bash -x ./busyXtremMerge Dante.mkv.001.xtm -vtt
+ readonly 'MSG_BUSY_VERSION=busyXtremMerge (turbo XTM), contournements pour Busybox, version 1.0.1'
+ MSG_BUSY_VERSION='busyXtremMerge (turbo XTM), contournements pour Busybox, version 1.0.1'
++ dirname ./busyXtremMerge
+ THIS_SCRIPT_DIR=.
+ . ./tuXtremMerge
++ readonly 'MSG_ERROR=\E[1;31mErreur\E[0m\n'
++ MSG_ERROR='\E[1;31mErreur\E[0m\n'
++ readonly 'MSG_OK=\E[1;32mOK\E[0m'
++ MSG_OK='\E[1;32mOK\E[0m'
++ readonly 'MSG_ATTENTION=\E[1;33mAttention !\E[0m'
++ MSG_ATTENTION='\E[1;33mAttention !\E[0m'
++ readonly 'MSG_BAD_OPTION=Option - incorrecte'
++ MSG_BAD_OPTION='Option - incorrecte'
++ readonly 'MSG_TOO_MANY_PARAMS=Trop de paramètre :'
++ MSG_TOO_MANY_PARAMS='Trop de paramètre :'
++ readonly 'MSG_UNKNOWN_OPTION=Option inconnue :'
++ MSG_UNKNOWN_OPTION='Option inconnue :'
++ readonly 'MSG_UNSPECIFIED_SOURCE_FILE=Fichier source non spécifié'
++ MSG_UNSPECIFIED_SOURCE_FILE='Fichier source non spécifié'
++ readonly 'MSG_VERSION=tuXtremMerge (turbo XTM), version 1.6.1'
++ MSG_VERSION='tuXtremMerge (turbo XTM), version 1.6.1'
++ readonly 'MSG_OPTION_M_AND_N=Vous ne pouvez spécifier les options \E[1;32m-m\E[0m et \E[1;32m-n\E[0m simultanément.'
++ MSG_OPTION_M_AND_N='Vous ne pouvez spécifier les options \E[1;32m-m\E[0m et \E[1;32m-n\E[0m simultanément.'
++ readonly 'MSG_IGNORING_OPTION_F=L'\''option \E[1;32m-f\E[0m sera ignorée puisque l'\''option -\E[1;32m-m\E[0m est spécifiée.'
++ MSG_IGNORING_OPTION_F='L'\''option \E[1;32m-f\E[0m sera ignorée puisque l'\''option -\E[1;32m-m\E[0m est spécifiée.'
++ readonly 'MSG_IGNORING_DEST=Le nom du fichier résultat sera ignoré puisque l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ MSG_IGNORING_DEST='Le nom du fichier résultat sera ignoré puisque l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ readonly 'MSG_CHECKING=Vérifications ... '
++ MSG_CHECKING='Vérifications ... '
++ readonly 'MSG_CHECKING_FIRST_SOURCE_FILE=Vérification d'\''existence du premier fichier source...'
++ MSG_CHECKING_FIRST_SOURCE_FILE='Vérification d'\''existence du premier fichier source...'
++ readonly 'MSG_TIP=\E[1;34mAstuce :\E[0;34m il faut le premier et le dernier fichier, corrects et complets, pour que le script puisse fonctionner.\nVous pouvez optimiser le résultat en récupérant ces deux fichiers en priorité.\E[0m'
++ MSG_TIP='\E[1;34mAstuce :\E[0;34m il faut le premier et le dernier fichier, corrects et complets, pour que le script puisse fonctionner.\nVous pouvez optimiser le résultat en récupérant ces deux fichiers en priorité.\E[0m'
++ readonly 'MSG_SUCCESS===================================================\n\E[1;32mToutes les opérations sont terminées avec succès !\E[0m'
++ MSG_SUCCESS='==================================================\n\E[1;32mToutes les opérations sont terminées avec succès !\E[0m'
++ readonly 'MSG_FIRST_FILE_ERROR=001.xtm non trouvé, vide ou erreur'
++ MSG_FIRST_FILE_ERROR='001.xtm non trouvé, vide ou erreur'
++ readonly 'MSG_FIRST_FILE_FOUND=Premier fichier source trouvé :'
++ MSG_FIRST_FILE_FOUND='Premier fichier source trouvé :'
++ readonly 'MSG_OPTION_M_AND_NO_MD5=\E[1;33mRien à faire !\E[0m\nL'\''option \E[1;32m-m\E[0m est spécifiée, or il n'\''y a pas MD5 à vérifier dans ces fichiers xtm.'
++ MSG_OPTION_M_AND_NO_MD5='\E[1;33mRien à faire !\E[0m\nL'\''option \E[1;32m-m\E[0m est spécifiée, or il n'\''y a pas MD5 à vérifier dans ces fichiers xtm.'
++ readonly 'MSG_CHECKING_LAST_SOURCE_FILE=Vérification d'\''existence du dernier fichier source...'
++ MSG_CHECKING_LAST_SOURCE_FILE='Vérification d'\''existence du dernier fichier source...'
++ readonly 'MSG_LAST_FILE_ERROR=Fichier %s%3.3u.xtm non trouvé ou vide\n'
++ MSG_LAST_FILE_ERROR='Fichier %s%3.3u.xtm non trouvé ou vide\n'
++ readonly 'MSG_LAST_FILE_FOUND=Dernier fichier source trouvé: %s%3.3u.xtm\n'
++ MSG_LAST_FILE_FOUND='Dernier fichier source trouvé: %s%3.3u.xtm\n'
++ readonly 'MSG_FILE_SIZES_OK=Tailles premier et dernier fichier cohérentes.'
++ MSG_FILE_SIZES_OK='Tailles premier et dernier fichier cohérentes.'
++ readonly 'MSG_FILE_SIZES_ERROR=Premier ou dernier fichier de taille incohérente.'
++ MSG_FILE_SIZES_ERROR='Premier ou dernier fichier de taille incohérente.'
++ readonly 'MSG_NO_FILE_WRITTEN=Aucun fichier résultat ne sera écrit car l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ MSG_NO_FILE_WRITTEN='Aucun fichier résultat ne sera écrit car l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ readonly 'MSG_COMPUTING_DEST=Détermination de l'\''emplacement du résultat...'
++ MSG_COMPUTING_DEST='Détermination de l'\''emplacement du résultat...'
++ readonly 'MSG_DISPLAY_DEST=Emplacement du résultat :'
++ MSG_DISPLAY_DEST='Emplacement du résultat :'
++ readonly 'MSG_CHECK_DEST_WRITABLE=Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
++ MSG_CHECK_DEST_WRITABLE='Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
++ readonly 'MSG_WARN_FORCED_OVERWRITE=\nEcrasement forcé par l'\''option \E[1;32m-f\E[0m, le fichier résultat existe déjà.'
++ MSG_WARN_FORCED_OVERWRITE='\nEcrasement forcé par l'\''option \E[1;32m-f\E[0m, le fichier résultat existe déjà.'
++ readonly 'MSG_WARN_OVERWRITE=\nLe fichier : %s existe déjà.\n'
++ MSG_WARN_OVERWRITE='\nLe fichier : %s existe déjà.\n'
++ readonly 'MSG_FILE_SIZE_MATCHES=La taille du fichier correspond au résultat prévu dans le xtm.'
++ MSG_FILE_SIZE_MATCHES='La taille du fichier correspond au résultat prévu dans le xtm.'
++ readonly 'MSG_FILE_SIZE_DOES_NOT_MATCH=La taille du fichier ne correspond pas au résultat prévu dans le xtm.'
++ MSG_FILE_SIZE_DOES_NOT_MATCH='La taille du fichier ne correspond pas au résultat prévu dans le xtm.'
++ readonly 'MSG_OVERWRITE_HINT=Si vous désirez ré-écrire ce fichier effacez/renommez-le au préalable ou spécifiez l'\''option \E[1;32m-f\E[0m pour forcer l'\''écrasement'
++ MSG_OVERWRITE_HINT='Si vous désirez ré-écrire ce fichier effacez/renommez-le au préalable ou spécifiez l'\''option \E[1;32m-f\E[0m pour forcer l'\''écrasement'
++ readonly 'MSG_WRITE_ERROR=Ecriture de : %s impossible.\nVeuillez vérifier que vous avez l'\''autorisation d'\''écrire ce fichier et que son nom est correct.\n'
++ MSG_WRITE_ERROR='Ecriture de : %s impossible.\nVeuillez vérifier que vous avez l'\''autorisation d'\''écrire ce fichier et que son nom est correct.\n'
++ readonly 'MSG_INSUFFICIENT_SPACE=Espace insuffisant sur %s pour créer le fichier %s.\nEspace nécessaire : %'\''u\nEspace disponible : %'\''u\n'
++ MSG_INSUFFICIENT_SPACE='Espace insuffisant sur %s pour créer le fichier %s.\nEspace nécessaire : %'\''u\nEspace disponible : %'\''u\n'
++ readonly 'MSG_CHUNKS_AVAIL=fichiers déjà traités.'
++ MSG_CHUNKS_AVAIL='fichiers déjà traités.'
++ readonly 'MSG_INFO_DELETED_OLD_FILE=Fichier partiel incohérent supprimé par option \E[1;32m-f\E[0m'
++ MSG_INFO_DELETED_OLD_FILE='Fichier partiel incohérent supprimé par option \E[1;32m-f\E[0m'
++ readonly 'MSG_INCOHERENT_PARTIAL_FILE=La taille du fichier partiel n'\''est pas un multiple de la taille de découpage des fichiers xtm.\nSupprimez ce fichier (%s.part) ou utilisez l'\''option \E[1;32m-f\E[0m\n'
++ MSG_INCOHERENT_PARTIAL_FILE='La taille du fichier partiel n'\''est pas un multiple de la taille de découpage des fichiers xtm.\nSupprimez ce fichier (%s.part) ou utilisez l'\''option \E[1;32m-f\E[0m\n'
++ readonly 'MSG_ALL_CHECKED_OK=Vérifications pour le fichier résultat terminées.'
++ MSG_ALL_CHECKED_OK='Vérifications pour le fichier résultat terminées.'
++ readonly 'MSG_PROCESSING_START=\E[1mTraitement optimisé des %u fichiers\E[0m\n'
++ MSG_PROCESSING_START='\E[1mTraitement optimisé des %u fichiers\E[0m\n'
++ readonly 'MSG_PROCESSING_RESTART=\E[1mReprise du traitement à partir du fichier %u\E[0m\nReste à traiter %u fichier(s)\n'
++ MSG_PROCESSING_RESTART='\E[1mReprise du traitement à partir du fichier %u\E[0m\nReste à traiter %u fichier(s)\n'
++ readonly MSG_SEPARATOR===================================
++ MSG_SEPARATOR===================================
++ readonly 'MSG_PROCESSING_FILE=Traitement de %s%3.3u.xtm ... '
++ MSG_PROCESSING_FILE='Traitement de %s%3.3u.xtm ... '
++ readonly 'MSG_FILE_MISSING=*** Le fichier est manquant ou de taille incorrecte.'
++ MSG_FILE_MISSING='*** Le fichier est manquant ou de taille incorrecte.'
++ readonly 'MSG_FILE_MISSING_TIP=*** Relancez le programme lorsque le fichier sera complet.'
++ MSG_FILE_MISSING_TIP='*** Relancez le programme lorsque le fichier sera complet.'
++ readonly E_BAD_OPTION=65
++ E_BAD_OPTION=65
++ readonly E_UNKNOWN_OPTION=66
++ E_UNKNOWN_OPTION=66
++ readonly E_TOO_MANY_PARAMS=67
++ E_TOO_MANY_PARAMS=67
++ readonly E_UNSPECIFIED_SOURCE_FILE=68
++ E_UNSPECIFIED_SOURCE_FILE=68
++ readonly E_MSG_OPTION_M_AND_N=69
++ E_MSG_OPTION_M_AND_N=69
++ readonly E_FIRST_FILE_ERROR=80
++ E_FIRST_FILE_ERROR=80
++ readonly E_LAST_FILE_ERROR=81
++ E_LAST_FILE_ERROR=81
++ readonly E_FILE_SIZES_ERROR=82
++ E_FILE_SIZES_ERROR=82
++ readonly E_WRITE_ERROR=83
++ E_WRITE_ERROR=83
++ readonly E_INSUFFICIENT_SPACE=83
++ E_INSUFFICIENT_SPACE=83
++ readonly E_INCOHERENT_PARTIAL_FILE=84
++ E_INCOHERENT_PARTIAL_FILE=84
++ readonly E_WARN_OVERWRITE=96
++ E_WARN_OVERWRITE=96
++ readonly E_CRITICAL_ERROR=127
++ E_CRITICAL_ERROR=127
++ declare -i i size SOURCE_FILE_NB DEST_FILE_NAME_LENGTH SPACE_AVAIL DISK_SPACE_NEEDED DEST_FILE_SIZE CHUNK_SIZE CHUNKS_AVAIL fMD5 LAST_SOURCE_FILE_SIZE
++ OPTION_m=
++ OPTION_n=
++ OPTION_f=
++ OPTION_v=
++ declare -i OPTION_t=0
++ DISPLAY_SOURCE_FILE_NAME=
++ DISPLAY_DEST_FILE_NAME=
++ declare -i CHUNKS_AVAIL=0
++ set -o pipefail
++ scan_parameters Dante.mkv.001.xtm -vtt
++ for param in '"$@"'
++ case "$param" in
++ '[' -z '' ']'
++ DISPLAY_SOURCE_FILE_NAME=Dante.mkv.001.xtm
++ for param in '"$@"'
++ case "$param" in
++ '[' -vtt == - ']'
++ i=1
++ '[' 1 -lt 4 ']'
++ case ${param:$i:1} in
++ OPTION_v=1
++ i=2
++ '[' 2 -lt 4 ']'
++ case ${param:$i:1} in
++ '[' tt = tt ']'
++ OPTION_t=2
++ i=3
++ i=4
++ '[' 4 -lt 4 ']'
++ '[' -z Dante.mkv.001.xtm ']'
+++ readlink -f Dante.mkv.001.xtm
+++ '[' -h Dante.mkv.001.xtm ']'
+++ target=Dante.mkv.001.xtm
+++++ dirname Dante.mkv.001.xtm
++++ cd .
++++ pwd
+++ temp=/volume1/VIDEO/BRRIP/xtm
+++ '[' /volume1/VIDEO/BRRIP/xtm '!=' / ']'
+++ temp=/volume1/VIDEO/BRRIP/xtm/
+++ echo -n /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ SOURCE_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ timing 1
++ '[' 2 -ge 1 ']'
++ date +%T.%N
21:21:54.%N
++ '[' '!' 1 ']'
++ check_parameters
++ '[' ']'
++ v_echo 'Vérification d'\''existence du premier fichier source...'
++ '[' 1 ']'
++ echo -e '*** Vérification d'\''existence du premier fichier source...'
*** Vérification d'existence du premier fichier source...
+++ echo /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ sed 's/...\.xtm$//'
++ RADIX=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.
+++ echo Dante.mkv.001.xtm
+++ sed 's/...\.xtm$//'
++ DISPLAY_RADIX=Dante.mkv.
++ FIRST_SOURCE_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ '[' '!' -f /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm ']'
++ '[' '!' -s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm ']'
++ v_echo 'Premier fichier source trouvé : Dante.mkv.001.xtm'
++ '[' 1 ']'
++ echo -e '*** Premier fichier source trouvé : Dante.mkv.001.xtm'
*** Premier fichier source trouvé : Dante.mkv.001.xtm
+++ od -An -vtu1 -j91 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu1 = -vtu8 ']'
+++ command od -An -vtu1 -j91 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ od -An -vtu1 -j91 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ fMD5=' 1'
++ '[' 1 -eq 0 ']'
+++ stat -c%s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ ls -l /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ cut '-d ' -f 5
+++ tr -s '[:blank:]'
++ CHUNK_SIZE=1043333120
+++ od -An -vtu4 -j92 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu4 = -vtu8 ']'
+++ command od -An -vtu4 -j92 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ od -An -vtu4 -j92 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ SOURCE_FILE_NB=' 5'
+++ od -An -vtu8 -j96 -N8 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu8 = -vtu8 ']'
++++ command od -An -vtu4 -j96 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++++ od -An -vtu4 -j96 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ low=' 108621594'
++++ command od -An -vtu4 -j100 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++++ od -An -vtu4 -j100 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ high=' 1'
+++ echo 4403588890
++ DEST_FILE_SIZE=4403588890
++ v_echo 'Vérification d'\''existence du dernier fichier source...'
++ '[' 1 ']'
++ echo -e '*** Vérification d'\''existence du dernier fichier source...'
*** Vérification d'existence du dernier fichier source...
+++ printf /volume1/VIDEO/BRRIP/xtm/Dante.mkv.%3.3u.xtm 5
++ LAST_SOURCE_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm
++ '[' '!' -f /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm ']'
++ '[' '!' -s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm ']'
+++ printf 'Dernier fichier source trouvé: %s%3.3u.xtm\n' Dante.mkv. 5
++ v_echo 'Dernier fichier source trouvé: Dante.mkv.005.xtm'
++ '[' 1 ']'
++ echo -e '*** Dernier fichier source trouvé: Dante.mkv.005.xtm'
*** Dernier fichier source trouvé: Dante.mkv.005.xtm
+++ stat -c%s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm
+++ ls -l /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm
+++ cut '-d ' -f 5
+++ tr -s '[:blank:]'
++ LAST_SOURCE_FILE_SIZE=230256410
++ '[' 4403588890 -eq 4403588890 ']'
++ v_echo 'Tailles premier et dernier fichier cohérentes.'
++ '[' 1 ']'
++ echo -e '*** Tailles premier et dernier fichier cohérentes.'
*** Tailles premier et dernier fichier cohérentes.
++ '[' ']'
++ v_echo 'Détermination de l'\''emplacement du résultat...'
++ '[' 1 ']'
++ echo -e '*** Détermination de l'\''emplacement du résultat...'
*** Détermination de l'emplacement du résultat...
++ '[' -z '' ']'
+++ od -An -vtu1 -j40 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu1 = -vtu8 ']'
+++ command od -An -vtu1 -j40 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ od -An -vtu1 -j40 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ DEST_FILE_NAME_LENGTH=' 9'
+++ dd if=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm bs=1 skip=41 count=9
++ DEFAULT_DEST_FILE_NAME=Dante.mkv
++ '[' -z '' ']'
++ this_file_radix=
++ DISPLAY_DEST_FILE_NAME=Dante.mkv
++ v_echo 'Emplacement du résultat : Dante.mkv'
++ '[' 1 ']'
++ echo -e '*** Emplacement du résultat : Dante.mkv'
*** Emplacement du résultat : Dante.mkv
+++ readlink -fn Dante.mkv
+++ '[' -h Dante.mkv ']'
+++ target=Dante.mkv
+++++ dirname Dante.mkv
++++ cd .
++++ pwd
+++ temp=/volume1/VIDEO/BRRIP/xtm
+++ '[' /volume1/VIDEO/BRRIP/xtm '!=' / ']'
+++ temp=/volume1/VIDEO/BRRIP/xtm/
+++ echo -n /volume1/VIDEO/BRRIP/xtm/Dante.mkv
++ DEST_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv
++ DEST_FILE_NAME_PART=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
++ v_echo 'Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
++ '[' 1 ']'
++ echo -e '*** Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
*** Vérification de la possibilité d'écrire le résultat : existence, autorisation d'écriture, espace disponible, etc...
++ '[' -f /volume1/VIDEO/BRRIP/xtm/Dante.mkv ']'
++ '[' -s /volume1/VIDEO/BRRIP/xtm/Dante.mkv ']'
++ touch /volume1/VIDEO/BRRIP/xtm/Dante.mkv /volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
++ '[' 0 -ne 0 ']'
+++ df /volume1/VIDEO/BRRIP/xtm/Dante.mkv
+++ sed -n 2p
++ TMP='/dev/vg1000/lv 2879606320 363781472 2515722448 13% /volume1'
+++ echo /dev/vg1000/lv 2879606320 363781472 2515722448 13% /volume1
+++ cut '-d ' -f 4
++ SPACE_AVAIL=2576099785728
+++ stat -c%s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
+++ ls -l /volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
+++ cut '-d ' -f 5
+++ tr -s '[:blank:]'
++ size=14379144
++ DISK_SPACE_NEEDED=4389209746
++ '[' 4389209746 == 0 ']'
++ '[' 2576099785728 -lt 4389209746 ']'
++ CHUNKS_AVAIL=0
++ '[' 14379144 -eq 0 ']'
++ '[' ']'
++ printf '\E[1;31mErreur\E[0m\nLa taille du fichier partiel n'\''est pas un multiple de la taille de découpage des fichiers xtm.\nSupprimez ce fichier (%s.part) ou utilisez l'\''option \E[1;32m-f\E[0m\n' Dante.mkv
Erreur
La taille du fichier partiel n'est pas un multiple de la taille de découpage des fichiers xtm.
Supprimez ce fichier (Dante.mkv.part) ou utilisez l'option -f
++ exit 84
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation>
DiskStation> bash -x ./busyXtremMerge Dante.mkv.001.xtm -vtt
+ readonly 'MSG_BUSY_VERSION=busyXtremMerge (turbo XTM), contournements pour Busybox, version 1.0.1'
+ MSG_BUSY_VERSION='busyXtremMerge (turbo XTM), contournements pour Busybox, version 1.0.1'
++ dirname ./busyXtremMerge
+ THIS_SCRIPT_DIR=.
+ . ./tuXtremMerge
++ readonly 'MSG_ERROR=\E[1;31mErreur\E[0m\n'
++ MSG_ERROR='\E[1;31mErreur\E[0m\n'
++ readonly 'MSG_OK=\E[1;32mOK\E[0m'
++ MSG_OK='\E[1;32mOK\E[0m'
++ readonly 'MSG_ATTENTION=\E[1;33mAttention !\E[0m'
++ MSG_ATTENTION='\E[1;33mAttention !\E[0m'
++ readonly 'MSG_BAD_OPTION=Option - incorrecte'
++ MSG_BAD_OPTION='Option - incorrecte'
++ readonly 'MSG_TOO_MANY_PARAMS=Trop de paramètre :'
++ MSG_TOO_MANY_PARAMS='Trop de paramètre :'
++ readonly 'MSG_UNKNOWN_OPTION=Option inconnue :'
++ MSG_UNKNOWN_OPTION='Option inconnue :'
++ readonly 'MSG_UNSPECIFIED_SOURCE_FILE=Fichier source non spécifié'
++ MSG_UNSPECIFIED_SOURCE_FILE='Fichier source non spécifié'
++ readonly 'MSG_VERSION=tuXtremMerge (turbo XTM), version 1.6.1'
++ MSG_VERSION='tuXtremMerge (turbo XTM), version 1.6.1'
++ readonly 'MSG_OPTION_M_AND_N=Vous ne pouvez spécifier les options \E[1;32m-m\E[0m et \E[1;32m-n\E[0m simultanément.'
++ MSG_OPTION_M_AND_N='Vous ne pouvez spécifier les options \E[1;32m-m\E[0m et \E[1;32m-n\E[0m simultanément.'
++ readonly 'MSG_IGNORING_OPTION_F=L'\''option \E[1;32m-f\E[0m sera ignorée puisque l'\''option -\E[1;32m-m\E[0m est spécifiée.'
++ MSG_IGNORING_OPTION_F='L'\''option \E[1;32m-f\E[0m sera ignorée puisque l'\''option -\E[1;32m-m\E[0m est spécifiée.'
++ readonly 'MSG_IGNORING_DEST=Le nom du fichier résultat sera ignoré puisque l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ MSG_IGNORING_DEST='Le nom du fichier résultat sera ignoré puisque l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ readonly 'MSG_CHECKING=Vérifications ... '
++ MSG_CHECKING='Vérifications ... '
++ readonly 'MSG_CHECKING_FIRST_SOURCE_FILE=Vérification d'\''existence du premier fichier source...'
++ MSG_CHECKING_FIRST_SOURCE_FILE='Vérification d'\''existence du premier fichier source...'
++ readonly 'MSG_TIP=\E[1;34mAstuce :\E[0;34m il faut le premier et le dernier fichier, corrects et complets, pour que le script puisse fonctionner.\nVous pouvez optimiser le résultat en récupérant ces deux fichiers en priorité.\E[0m'
++ MSG_TIP='\E[1;34mAstuce :\E[0;34m il faut le premier et le dernier fichier, corrects et complets, pour que le script puisse fonctionner.\nVous pouvez optimiser le résultat en récupérant ces deux fichiers en priorité.\E[0m'
++ readonly 'MSG_SUCCESS===================================================\n\E[1;32mToutes les opérations sont terminées avec succès !\E[0m'
++ MSG_SUCCESS='==================================================\n\E[1;32mToutes les opérations sont terminées avec succès !\E[0m'
++ readonly 'MSG_FIRST_FILE_ERROR=001.xtm non trouvé, vide ou erreur'
++ MSG_FIRST_FILE_ERROR='001.xtm non trouvé, vide ou erreur'
++ readonly 'MSG_FIRST_FILE_FOUND=Premier fichier source trouvé :'
++ MSG_FIRST_FILE_FOUND='Premier fichier source trouvé :'
++ readonly 'MSG_OPTION_M_AND_NO_MD5=\E[1;33mRien à faire !\E[0m\nL'\''option \E[1;32m-m\E[0m est spécifiée, or il n'\''y a pas MD5 à vérifier dans ces fichiers xtm.'
++ MSG_OPTION_M_AND_NO_MD5='\E[1;33mRien à faire !\E[0m\nL'\''option \E[1;32m-m\E[0m est spécifiée, or il n'\''y a pas MD5 à vérifier dans ces fichiers xtm.'
++ readonly 'MSG_CHECKING_LAST_SOURCE_FILE=Vérification d'\''existence du dernier fichier source...'
++ MSG_CHECKING_LAST_SOURCE_FILE='Vérification d'\''existence du dernier fichier source...'
++ readonly 'MSG_LAST_FILE_ERROR=Fichier %s%3.3u.xtm non trouvé ou vide\n'
++ MSG_LAST_FILE_ERROR='Fichier %s%3.3u.xtm non trouvé ou vide\n'
++ readonly 'MSG_LAST_FILE_FOUND=Dernier fichier source trouvé: %s%3.3u.xtm\n'
++ MSG_LAST_FILE_FOUND='Dernier fichier source trouvé: %s%3.3u.xtm\n'
++ readonly 'MSG_FILE_SIZES_OK=Tailles premier et dernier fichier cohérentes.'
++ MSG_FILE_SIZES_OK='Tailles premier et dernier fichier cohérentes.'
++ readonly 'MSG_FILE_SIZES_ERROR=Premier ou dernier fichier de taille incohérente.'
++ MSG_FILE_SIZES_ERROR='Premier ou dernier fichier de taille incohérente.'
++ readonly 'MSG_NO_FILE_WRITTEN=Aucun fichier résultat ne sera écrit car l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ MSG_NO_FILE_WRITTEN='Aucun fichier résultat ne sera écrit car l'\''option \E[1;32m-m\E[0m est spécifiée.'
++ readonly 'MSG_COMPUTING_DEST=Détermination de l'\''emplacement du résultat...'
++ MSG_COMPUTING_DEST='Détermination de l'\''emplacement du résultat...'
++ readonly 'MSG_DISPLAY_DEST=Emplacement du résultat :'
++ MSG_DISPLAY_DEST='Emplacement du résultat :'
++ readonly 'MSG_CHECK_DEST_WRITABLE=Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
++ MSG_CHECK_DEST_WRITABLE='Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
++ readonly 'MSG_WARN_FORCED_OVERWRITE=\nEcrasement forcé par l'\''option \E[1;32m-f\E[0m, le fichier résultat existe déjà.'
++ MSG_WARN_FORCED_OVERWRITE='\nEcrasement forcé par l'\''option \E[1;32m-f\E[0m, le fichier résultat existe déjà.'
++ readonly 'MSG_WARN_OVERWRITE=\nLe fichier : %s existe déjà.\n'
++ MSG_WARN_OVERWRITE='\nLe fichier : %s existe déjà.\n'
++ readonly 'MSG_FILE_SIZE_MATCHES=La taille du fichier correspond au résultat prévu dans le xtm.'
++ MSG_FILE_SIZE_MATCHES='La taille du fichier correspond au résultat prévu dans le xtm.'
++ readonly 'MSG_FILE_SIZE_DOES_NOT_MATCH=La taille du fichier ne correspond pas au résultat prévu dans le xtm.'
++ MSG_FILE_SIZE_DOES_NOT_MATCH='La taille du fichier ne correspond pas au résultat prévu dans le xtm.'
++ readonly 'MSG_OVERWRITE_HINT=Si vous désirez ré-écrire ce fichier effacez/renommez-le au préalable ou spécifiez l'\''option \E[1;32m-f\E[0m pour forcer l'\''écrasement'
++ MSG_OVERWRITE_HINT='Si vous désirez ré-écrire ce fichier effacez/renommez-le au préalable ou spécifiez l'\''option \E[1;32m-f\E[0m pour forcer l'\''écrasement'
++ readonly 'MSG_WRITE_ERROR=Ecriture de : %s impossible.\nVeuillez vérifier que vous avez l'\''autorisation d'\''écrire ce fichier et que son nom est correct.\n'
++ MSG_WRITE_ERROR='Ecriture de : %s impossible.\nVeuillez vérifier que vous avez l'\''autorisation d'\''écrire ce fichier et que son nom est correct.\n'
++ readonly 'MSG_INSUFFICIENT_SPACE=Espace insuffisant sur %s pour créer le fichier %s.\nEspace nécessaire : %'\''u\nEspace disponible : %'\''u\n'
++ MSG_INSUFFICIENT_SPACE='Espace insuffisant sur %s pour créer le fichier %s.\nEspace nécessaire : %'\''u\nEspace disponible : %'\''u\n'
++ readonly 'MSG_CHUNKS_AVAIL=fichiers déjà traités.'
++ MSG_CHUNKS_AVAIL='fichiers déjà traités.'
++ readonly 'MSG_INFO_DELETED_OLD_FILE=Fichier partiel incohérent supprimé par option \E[1;32m-f\E[0m'
++ MSG_INFO_DELETED_OLD_FILE='Fichier partiel incohérent supprimé par option \E[1;32m-f\E[0m'
++ readonly 'MSG_INCOHERENT_PARTIAL_FILE=La taille du fichier partiel n'\''est pas un multiple de la taille de découpage des fichiers xtm.\nSupprimez ce fichier (%s.part) ou utilisez l'\''option \E[1;32m-f\E[0m\n'
++ MSG_INCOHERENT_PARTIAL_FILE='La taille du fichier partiel n'\''est pas un multiple de la taille de découpage des fichiers xtm.\nSupprimez ce fichier (%s.part) ou utilisez l'\''option \E[1;32m-f\E[0m\n'
++ readonly 'MSG_ALL_CHECKED_OK=Vérifications pour le fichier résultat terminées.'
++ MSG_ALL_CHECKED_OK='Vérifications pour le fichier résultat terminées.'
++ readonly 'MSG_PROCESSING_START=\E[1mTraitement optimisé des %u fichiers\E[0m\n'
++ MSG_PROCESSING_START='\E[1mTraitement optimisé des %u fichiers\E[0m\n'
++ readonly 'MSG_PROCESSING_RESTART=\E[1mReprise du traitement à partir du fichier %u\E[0m\nReste à traiter %u fichier(s)\n'
++ MSG_PROCESSING_RESTART='\E[1mReprise du traitement à partir du fichier %u\E[0m\nReste à traiter %u fichier(s)\n'
++ readonly MSG_SEPARATOR===================================
++ MSG_SEPARATOR===================================
++ readonly 'MSG_PROCESSING_FILE=Traitement de %s%3.3u.xtm ... '
++ MSG_PROCESSING_FILE='Traitement de %s%3.3u.xtm ... '
++ readonly 'MSG_FILE_MISSING=*** Le fichier est manquant ou de taille incorrecte.'
++ MSG_FILE_MISSING='*** Le fichier est manquant ou de taille incorrecte.'
++ readonly 'MSG_FILE_MISSING_TIP=*** Relancez le programme lorsque le fichier sera complet.'
++ MSG_FILE_MISSING_TIP='*** Relancez le programme lorsque le fichier sera complet.'
++ readonly E_BAD_OPTION=65
++ E_BAD_OPTION=65
++ readonly E_UNKNOWN_OPTION=66
++ E_UNKNOWN_OPTION=66
++ readonly E_TOO_MANY_PARAMS=67
++ E_TOO_MANY_PARAMS=67
++ readonly E_UNSPECIFIED_SOURCE_FILE=68
++ E_UNSPECIFIED_SOURCE_FILE=68
++ readonly E_MSG_OPTION_M_AND_N=69
++ E_MSG_OPTION_M_AND_N=69
++ readonly E_FIRST_FILE_ERROR=80
++ E_FIRST_FILE_ERROR=80
++ readonly E_LAST_FILE_ERROR=81
++ E_LAST_FILE_ERROR=81
++ readonly E_FILE_SIZES_ERROR=82
++ E_FILE_SIZES_ERROR=82
++ readonly E_WRITE_ERROR=83
++ E_WRITE_ERROR=83
++ readonly E_INSUFFICIENT_SPACE=83
++ E_INSUFFICIENT_SPACE=83
++ readonly E_INCOHERENT_PARTIAL_FILE=84
++ E_INCOHERENT_PARTIAL_FILE=84
++ readonly E_WARN_OVERWRITE=96
++ E_WARN_OVERWRITE=96
++ readonly E_CRITICAL_ERROR=127
++ E_CRITICAL_ERROR=127
++ declare -i i size SOURCE_FILE_NB DEST_FILE_NAME_LENGTH SPACE_AVAIL DISK_SPACE_NEEDED DEST_FILE_SIZE CHUNK_SIZE CHUNKS_AVAIL fMD5 LAST_SOURCE_FILE_SIZE
++ OPTION_m=
++ OPTION_n=
++ OPTION_f=
++ OPTION_v=
++ declare -i OPTION_t=0
++ DISPLAY_SOURCE_FILE_NAME=
++ DISPLAY_DEST_FILE_NAME=
++ declare -i CHUNKS_AVAIL=0
++ set -o pipefail
++ scan_parameters Dante.mkv.001.xtm -vtt
++ for param in '"$@"'
++ case "$param" in
++ '[' -z '' ']'
++ DISPLAY_SOURCE_FILE_NAME=Dante.mkv.001.xtm
++ for param in '"$@"'
++ case "$param" in
++ '[' -vtt == - ']'
++ i=1
++ '[' 1 -lt 4 ']'
++ case ${param:$i:1} in
++ OPTION_v=1
++ i=2
++ '[' 2 -lt 4 ']'
++ case ${param:$i:1} in
++ '[' tt = tt ']'
++ OPTION_t=2
++ i=3
++ i=4
++ '[' 4 -lt 4 ']'
++ '[' -z Dante.mkv.001.xtm ']'
+++ readlink -f Dante.mkv.001.xtm
+++ '[' -h Dante.mkv.001.xtm ']'
+++ target=Dante.mkv.001.xtm
+++++ dirname Dante.mkv.001.xtm
++++ cd .
++++ pwd
+++ temp=/volume1/VIDEO/BRRIP/xtm
+++ '[' /volume1/VIDEO/BRRIP/xtm '!=' / ']'
+++ temp=/volume1/VIDEO/BRRIP/xtm/
+++ echo -n /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ SOURCE_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ timing 1
++ '[' 2 -ge 1 ']'
++ date +%T.%N
21:22:20.%N
++ '[' '!' 1 ']'
++ check_parameters
++ '[' ']'
++ v_echo 'Vérification d'\''existence du premier fichier source...'
++ '[' 1 ']'
++ echo -e '*** Vérification d'\''existence du premier fichier source...'
*** Vérification d'existence du premier fichier source...
+++ echo /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ sed 's/...\.xtm$//'
++ RADIX=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.
+++ echo Dante.mkv.001.xtm
+++ sed 's/...\.xtm$//'
++ DISPLAY_RADIX=Dante.mkv.
++ FIRST_SOURCE_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ '[' '!' -f /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm ']'
++ '[' '!' -s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm ']'
++ v_echo 'Premier fichier source trouvé : Dante.mkv.001.xtm'
++ '[' 1 ']'
++ echo -e '*** Premier fichier source trouvé : Dante.mkv.001.xtm'
*** Premier fichier source trouvé : Dante.mkv.001.xtm
+++ od -An -vtu1 -j91 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu1 = -vtu8 ']'
+++ command od -An -vtu1 -j91 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ od -An -vtu1 -j91 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ fMD5=' 1'
++ '[' 1 -eq 0 ']'
+++ stat -c%s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ ls -l /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ cut '-d ' -f 5
+++ tr -s '[:blank:]'
++ CHUNK_SIZE=1043333120
+++ od -An -vtu4 -j92 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu4 = -vtu8 ']'
+++ command od -An -vtu4 -j92 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ od -An -vtu4 -j92 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ SOURCE_FILE_NB=' 5'
+++ od -An -vtu8 -j96 -N8 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu8 = -vtu8 ']'
++++ command od -An -vtu4 -j96 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++++ od -An -vtu4 -j96 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ low=' 108621594'
++++ command od -An -vtu4 -j100 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++++ od -An -vtu4 -j100 -N4 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ high=' 1'
+++ echo 4403588890
++ DEST_FILE_SIZE=4403588890
++ v_echo 'Vérification d'\''existence du dernier fichier source...'
++ '[' 1 ']'
++ echo -e '*** Vérification d'\''existence du dernier fichier source...'
*** Vérification d'existence du dernier fichier source...
+++ printf /volume1/VIDEO/BRRIP/xtm/Dante.mkv.%3.3u.xtm 5
++ LAST_SOURCE_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm
++ '[' '!' -f /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm ']'
++ '[' '!' -s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm ']'
+++ printf 'Dernier fichier source trouvé: %s%3.3u.xtm\n' Dante.mkv. 5
++ v_echo 'Dernier fichier source trouvé: Dante.mkv.005.xtm'
++ '[' 1 ']'
++ echo -e '*** Dernier fichier source trouvé: Dante.mkv.005.xtm'
*** Dernier fichier source trouvé: Dante.mkv.005.xtm
+++ stat -c%s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm
+++ ls -l /volume1/VIDEO/BRRIP/xtm/Dante.mkv.005.xtm
+++ tr -s '[:blank:]'
+++ cut '-d ' -f 5
++ LAST_SOURCE_FILE_SIZE=230256410
++ '[' 4403588890 -eq 4403588890 ']'
++ v_echo 'Tailles premier et dernier fichier cohérentes.'
++ '[' 1 ']'
++ echo -e '*** Tailles premier et dernier fichier cohérentes.'
*** Tailles premier et dernier fichier cohérentes.
++ '[' ']'
++ v_echo 'Détermination de l'\''emplacement du résultat...'
++ '[' 1 ']'
++ echo -e '*** Détermination de l'\''emplacement du résultat...'
*** Détermination de l'emplacement du résultat...
++ '[' -z '' ']'
+++ od -An -vtu1 -j40 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ '[' -vtu1 = -vtu8 ']'
+++ command od -An -vtu1 -j40 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
+++ od -An -vtu1 -j40 -N1 /volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm
++ DEST_FILE_NAME_LENGTH=' 9'
+++ dd if=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.001.xtm bs=1 skip=41 count=9
++ DEFAULT_DEST_FILE_NAME=Dante.mkv
++ '[' -z '' ']'
++ this_file_radix=
++ DISPLAY_DEST_FILE_NAME=Dante.mkv
++ v_echo 'Emplacement du résultat : Dante.mkv'
++ '[' 1 ']'
++ echo -e '*** Emplacement du résultat : Dante.mkv'
*** Emplacement du résultat : Dante.mkv
+++ readlink -fn Dante.mkv
+++ '[' -h Dante.mkv ']'
+++ target=Dante.mkv
+++++ dirname Dante.mkv
++++ cd .
++++ pwd
+++ temp=/volume1/VIDEO/BRRIP/xtm
+++ '[' /volume1/VIDEO/BRRIP/xtm '!=' / ']'
+++ temp=/volume1/VIDEO/BRRIP/xtm/
+++ echo -n /volume1/VIDEO/BRRIP/xtm/Dante.mkv
++ DEST_FILE_NAME=/volume1/VIDEO/BRRIP/xtm/Dante.mkv
++ DEST_FILE_NAME_PART=/volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
++ v_echo 'Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
++ '[' 1 ']'
++ echo -e '*** Vérification de la possibilité d'\''écrire le résultat : existence, autorisation d'\''écriture, espace disponible, etc...'
*** Vérification de la possibilité d'écrire le résultat : existence, autorisation d'écriture, espace disponible, etc...
++ '[' -f /volume1/VIDEO/BRRIP/xtm/Dante.mkv ']'
++ touch /volume1/VIDEO/BRRIP/xtm/Dante.mkv /volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
++ '[' 0 -ne 0 ']'
+++ df /volume1/VIDEO/BRRIP/xtm/Dante.mkv
+++ sed -n 2p
++ TMP='/dev/vg1000/lv 2879606320 363787560 2515716360 13% /volume1'
+++ echo /dev/vg1000/lv 2879606320 363787560 2515716360 13% /volume1
+++ cut '-d ' -f 4
++ SPACE_AVAIL=2576093551616
+++ stat -c%s /volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
+++ ls -l /volume1/VIDEO/BRRIP/xtm/Dante.mkv.part
+++ cut '-d ' -f 5
+++ tr -s '[:blank:]'
++ size=14379144
++ DISK_SPACE_NEEDED=4389209746
++ '[' 4389209746 == 0 ']'
++ '[' 2576093551616 -lt 4389209746 ']'
++ CHUNKS_AVAIL=0
++ '[' 14379144 -eq 0 ']'
++ '[' ']'
++ printf '\E[1;31mErreur\E[0m\nLa taille du fichier partiel n'\''est pas un multiple de la taille de découpage des fichiers xtm.\nSupprimez ce fichier (%s.part) ou utilisez l'\''option \E[1;32m-f\E[0m\n' Dante.mkv
Erreur
La taille du fichier partiel n'est pas un multiple de la taille de découpage des fichiers xtm.
Supprimez ce fichier (Dante.mkv.part) ou utilisez l'option -f
++ exit 84
Est ce que ce message d'erreur peut venir du fait que j'ai d'abord fait la commande sans "bash -x" puis avec?
Supprimez ce fichier (Dante.mkv.part) ou utilisez l'option -f