[Shell] Traitement liste de fichiers
Résolu
yaLINUXNUL
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
yaLINUXNUL Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
yaLINUXNUL Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai cherché et je ne trouve pas comment faire. J'ai passé l'après midi à rechercher des solutions.
----- Dans une variable, j'ai une liste non fini de fichiers séparés par le caractère ','
var6=aa.pdf,bb.pdf,cc.pdf,aa.pdf,....
ou
var6=aa.pdf
----- Les fichiers qui ne sont pas en doublon sont distribués dans des répertoires du nom.
_______________
J'ai une solution mais elle permet de travailler sur une liste fixe et ensuite il faut que j'analyse les doublons.
var7=`echo $var6 | cut -d"," -f1`
var8=`echo $var6 | cut -d"," -f2`
var9=`echo $var6 | cut -d"," -f3`
echo $var7
echo $var8
echo $var9
_______________
Y a t il une solution pour
1) supprimer les doublons (option)
2) Lancer la distribution pour chaque fichier de la liste qu'elle que soit le nombre de fichier dans la liste
du genre
for i in liste
do
if [$i eg aa.pdf]
then
{
mv $i /home/sortie1/$i
}
else
{
if [$i eg aa.pdf]
then
{
mv $i /home/sortie2/$i
}
fi
fi
done
Merci de bien vouloir m'aider
cordialement
J'ai cherché et je ne trouve pas comment faire. J'ai passé l'après midi à rechercher des solutions.
----- Dans une variable, j'ai une liste non fini de fichiers séparés par le caractère ','
var6=aa.pdf,bb.pdf,cc.pdf,aa.pdf,....
ou
var6=aa.pdf
----- Les fichiers qui ne sont pas en doublon sont distribués dans des répertoires du nom.
_______________
J'ai une solution mais elle permet de travailler sur une liste fixe et ensuite il faut que j'analyse les doublons.
var7=`echo $var6 | cut -d"," -f1`
var8=`echo $var6 | cut -d"," -f2`
var9=`echo $var6 | cut -d"," -f3`
echo $var7
echo $var8
echo $var9
_______________
Y a t il une solution pour
1) supprimer les doublons (option)
2) Lancer la distribution pour chaque fichier de la liste qu'elle que soit le nombre de fichier dans la liste
du genre
for i in liste
do
if [$i eg aa.pdf]
then
{
mv $i /home/sortie1/$i
}
else
{
if [$i eg aa.pdf]
then
{
mv $i /home/sortie2/$i
}
fi
fi
done
Merci de bien vouloir m'aider
cordialement
A voir également:
- [Shell] Traitement liste de fichiers
- Liste déroulante excel - Guide
- Classic shell - Télécharger - Personnalisation
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Traitement de texte gratuit - Guide
- Liste déroulante en cascade - Guide
3 réponses
Salut,
J'ai pas très bien compris ce que tu voulais faire exactement ;-\
Quoi qu'il en soit, je te donne des pistes avec ce que j'ai cru comprendre...
J'ai pas très bien compris ce que tu voulais faire exactement ;-\
Quoi qu'il en soit, je te donne des pistes avec ce que j'ai cru comprendre...
Transformer ta variable en tableau $ var6="aa.pdf,bb.pdf,cc.pdf,aa.pdf" $ declare -a var6=( ${var6//,/ } ) Afficher les éléments du tableau $ echo ${var6[@]} aa.pdf bb.pdf cc.pdf aa.pdf Afficher le 1er élément du tabeau $ echo ${var6[0]} aa.pdf Le 2nd $ echo ${var6[1]} bb.pdf Le 3ème $ echo ${var6[2]} cc.pdf Le 4ème $ echo ${var6[3]} aa.pdf Nombre d'élements du tableau $ echo ${#var6[@]} 4 Afficher les éléments du tableau triés par ordre alphabétique $ for i in ${var6[*]}; do echo $i;done | sort aa.pdf aa.pdf bb.pdf cc.pdf Idem mais en cas de doublon n'en afficher qu'un $ for i in ${var6[*]}; do echo $i;done | sort -u aa.pdf bb.pdf cc.pdf Idem mais en excluant les doublons $ for i in ${var6[*]}; do echo $i;done | sort | uniq -u bb.pdf cc.pdf $;-))