#1 Le 30/03/2017, à 11: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, à 11: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.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Hors ligne
#3 Le 30/03/2017, à 11: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, à 12: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 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( 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, à 16: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, à 19: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