Copies conditionnelles scripts Bash

Hello à tous,

J’ai fait un très très petit script en Bash qui permet de déplacer des fichiers d’un répertoire vers un autre.

Mais maintenant, j’ai besoin de déplacer ces fichiers dans des répertoires en fonctions de leur type.

Exemple : Fichier texte dans un dossier Fichier texte
Fichier jpg dans un dossier “Images”

En batch, (désolé de mentionner ce nom ici :blush: ) j’y arrive en faisant ça :

@echo off IF EXIST *.txt (copy P:\*.txt P:\Temp\) ELSE echo Fichier txt absent IF EXIST *.xls (copy P:\*.xls P:\Temp_2\) ELSE echo Fichier excel Absent

Qui pourrait me traduire cela en script shell svp??

Je suis en apprentissage de ce langage et mes besoins vont plus vite que mon apprentissage…

Merci pour vos aides :mrgreen:

Bonjour,

Ceci devrait t’aider

for i in txt xls do set -- *.$i if [ -e "$1" ] then cp *.$i /chemin/$i/ else echo "Pas de fichiers .$i" fi done

Merci beaucoup micky!

D’après ce que je crois comprendre, i est une variable?? et le $ sert à utiliser cette variable?

Par contre, ici

if [ -e "$1" ]

C’est bien 1 ou i??

Merci pour ton aide :mrgreen:

Bonjour,

Les variables lorsqu’elles sont initialisées sont appelé via $Nom_de_la_variable.

i est en effet une varibale initialisé via la boucle for.

La seconde variable est bien un 1 (un) initialisé par la commande suivante :set -- *.$i