Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[Shell] Traitement liste de fichiers

yaLINUXNUL, le lundi 31 mars 2008 à 21:15:55
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
Configuration: Windows XP vmware linux
Internet Explorer 7.0
Répondre à yaLINUXNUL  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le lundi 31 mars 2008 à 23:46:40
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...

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
$ 
;-))
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
Répondre à jipicy

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
jipicy, le mardi 1 avril 2008 à 09:28:51
Re-

La nuit portant conseil, on va faire beaucoup plus simple... à toi de mettre le traitement qui va bien (notamment une condition "case...esac") à la place du "echo" :
while read line; do echo "fichier : $line"; done < <(echo $var6 | tr ',' '\n' | sort -u)
;-))
JP - Éleveur de pingouins -
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
Répondre à jipicy

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
yaLINUXNUL, le mardi 1 avril 2008 à 10:30:22
Merci énormément.
Je vais me faire un dossier avec les réponses
Répondre à yaLINUXNUL

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 yaLINUXNUL, le mardi 1 avril 2008 à 10:31:38
C'est bon de ne pas se sentir seul.
Répondre à yaLINUXNUL
Le traitement des fichiers (Résolu)Bonsoir, je vois le traitement des fichiers à mes cours du soir et je ne comprend pas tout d'un code... le fonctionnement : on demande à l'utilisateur d'introduire le nom, prénom, age et taille de plusieurs personnes et de les... www.commentcamarche.net/forum/affich-5518498-le-traitement-des-fichiers
Problème avec mon eee pc (Résolu)Bonjour, voila j'ai un souci avec mon gestionnaire de pasquet sur xandros quan je ve installer amsn il me dit: E: impossible de traiter le fichier /var/lib/dpkg/status (2) E: impossible de verouiller le répertoire de téléchargement Voila si... www.commentcamarche.net/forum/affich-5722743-probleme-avec-mon-eee-pc
Comparaisons de fichiers (Résolu)Bonjour, voilà j'ai deux cas de comparaisons de fichiers à traiter. 1fichier1.txt : abc def ghi jkl fichier2.txt : abc def fgh jkl j'aimerais grâce à un script shell comparer les fichiers et s'ils ne sont pas identiques afficher à... www.commentcamarche.net/forum/affich-7506116-comparaisons-de-fichiers
[Shell] Créer un fichier videPour créer un fichier vide, il vous suffit de taper la commande suivante : > fichier Vous pouvez également utiliser la commande touch : touch fichier www.commentcamarche.net/faq/sujet-866-shell-creer-un-fichier-vide
[Shell] Transferer des fichiers via sshSSH - Secure SHell Utilisation Informations complémentaires LOGICIELS Sous Linux/Unix Sous Windows Avertissement Utilisation SSH permet d'utiliser des pipelines de commandes, et d'utiliser des tubes d'entrées/sorties comme toute autre... www.commentcamarche.net/faq/sujet-904-shell-transferer-des-fichiers-via-ssh
[Windows] Obtenir la liste des fichiers d'un dossierLister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier... www.commentcamarche.net/faq/sujet-2662-windows-obtenir-la-liste-des-fichiers-d-un-dossier
VBS- Traiter fichiers dans un répertoire (Résolu)Bonjour, VBScript : Traiter chaque fichier dans un répertoire ? Assez complexe - Help Bonjour à tous, Etant debutant et n'ayant pas vraiment trouvé une réponse en cherchant, je vous pose la question : J'ai plusieurs fichiers log qui... www.commentcamarche.net/forum/affich-3746292-vbs-traiter-fichiers-dans-un-repertoire
Commande Sed à la place de Awk (Résolu)Bonjour, J'ai un programme shell qui traite des fichiers et utilisant une commande Awk. Le problème est que la commande Awk est limitée en nombre de caractères (3000 je crois). Donc j'aimerai substitué cette commande Awk par une commande... www.commentcamarche.net/forum/affich-5736670-commande-sed-a-la-place-de-awk
[Unix korn shell] Convertir une liste (Résolu)bonjour j'ai besoin de votre aide pour convertir cette liste (fichier d'entrer ) : INPUT Input file comp.txt lawsonlevel: NO lawsoncompanyI: 2028 lawsoncompanyI: 2030 lawsoncompanyF: 2079 lawsoncompanyF: 2100 lawsoncompanyF: 2161... www.commentcamarche.net/forum/affich-3286969-unix-korn-shell-convertir-une-liste
Télécharger NoteTab LightNotetab Light est un logiciel gratuit qui peut remplacer le bloc note de Windows. Mais en plus, il possède d’autres fonctionnalités utiles pour la manipulation des textes. Il est aussi capable d’éditer du HTML et peut traiter des fichiers volumineux... www.commentcamarche.net/telecharger/telecharger-34055410-notetab-light
Télécharger Audacity Portable Audacity Portable est le populaire éditeur audio "Audacity" dans sa version portable. Avec cette nouvelle version, vous pourrez traiter vos fichiers audio n'importe où, où que vous soyez. Il vous suffit d'emmenez le programme dans une clé USB, iPOd ou... www.commentcamarche.net/telecharger/telecharger-34056176-audacity-portable
Télécharger PatplayerPatplayer est un lecteur de fichiers audio. Il gère les fichiers mp3 comme un Jukebox. Il prend en charge les disques dur internes et externes votre disque externe. Il permet donc de lire et de gérer vos listes fichiers mp3. Il intègre un éditeur de... www.commentcamarche.net/telecharger/telecharger-34056735-patplayer
Toutes les réponses pour « [Shell] Traitement liste de fichiers »