#1 Le 30/03/2017, à 10:44
- marionz0210
Supprimer message d'erreur de la commande mv
Bonjour à tous !
Je débute en bash. J'ai fait un script dans lequel j'utilise la commande mv à l'intérieur d'une boucle pour renommer des fichiers. Cependant, pour certains fichiers, un message d'erreur apparait : "000006" and "000006" are the same file. C'est vrai que pour certains fichiers de ma boucle, il n'y a pas de renommage nécessaire, mais je ne peut pas connaitre ces fichiers à l'avance.
Alors j'aimerais bien que ce message d'erreur n'aparraisse pas. Est ce que c'est possible ? Il y t-il une solution ?
Merci d'avance !
Marion
Hors ligne
#2 Le 30/03/2017, à 10:53
- jplemoine
Re : Supprimer message d'erreur de la commande mv
Alors j'aimerais bien que ce message d'erreur n'aparraisse pas. Est ce que c'est possible ? Il y t-il une solution ?
OUI.
La solution est de rediriger la sortie erreur vers un fichier ou vers "rien" (/dev/null).
commande > fichier : redirige la sortie "normale" vers un fichier
commande 2> fichier : redirige la sortie erreur vers un fichier
tu peux mixer les 2 :
commande > fichier1 2> fichier2 : chaque type de sortie à son fichier
commande > fichier1 2>&1 : La sortie 'erreur' va au même endroit que la sortie "normale"
si tu veux que le fichier ne soit pas écraser à chaque exécution : c'est >> au lieu de > .
tu peux rediriger vers un "trou noir" : /dev/null
Donc si tu fais commande > /dev/null : ça devrait fonctionner comme tu le veux.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 30/03/2017, à 10:58
- pingouinux
Re : Supprimer message d'erreur de la commande mv
Bonjour,
Tu peux éventuellement montrer ton script.
Hors ligne
#4 Le 30/03/2017, à 11:02
- ar barzh paour
Re : Supprimer message d'erreur de la commande mv
il peut être intéressant de tester si le fichier cible existe déjà
! [[ -e $cible ]] && mv "$source" "$cible"
ou bien
if [[ -e "$cible" ]]
then
<faire quelque chose ou non>
else
mv "$source" "$cible"
fi
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#5 Le 30/03/2017, à 15:04
- Watael
Re : Supprimer message d'erreur de la commande mv
tester si le fichier cible existe déjà
+1
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 30/03/2017, à 18:55
- Hizoka
Re : Supprimer message d'erreur de la commande mv
En meme temps, le message semble te dire que tu veux renommer un fichier en utilisant le même nom
mv fichier fichier
mv: 'fichier' et 'fichier' identifient le même fichier
Donc soit tu testes comme le dis ar barzh paour, soit tu revois ton code qui ne doit pas être bon.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne