Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/01/2011, à 18:49

flashmates

Recherche ET déplacement en masse [Résolu]

Bonjour à tous, j'ai fait une recherche mais j'ai rien trouvé concernant mon problème..

Voila je cherche un moyen de faire une recherche massive de fichiers sur mon disque dur externe par type et de les trier une bonne fois pour toutes dans un seul et même dossier.
Pour ce qui est de la recherche, "catfish" s'en charge très bien mais impossible de faire un Ctrl+A et impossible de trier les résultats par dossier..

J'ai vu sur d'autres sujets qu'il y avait les commandes sur console (find et locate) mais ça ne fait pas ce que je veux c'est trop fastidieux et j'ai peur d'écraser automatiquement les fichiers du même nom (la magie des appareils photos numériques qui recommencent leur décompte quand on vide la carte sd)...

Je sais que c'est possible sous windows, mais j'ai pas windows et je veux pas m'installer une distrib juste pour pouvoir trier mes fichiers par type..

merci à celui qui me trouve une solution à ce problème ridicule mais très agaçant..

Dernière modification par flashmates (Le 22/01/2011, à 22:46)

Hors ligne

#2 Le 22/01/2011, à 19:16

cinaptix

Re : Recherche ET déplacement en masse [Résolu]

Le salut est dans la ligne de commande.

Exemple :
Rechercher et copier (ou déplacer) des fichiers (en l'occurrence des PDF) de
plusieurs répertoires vers un répertoire unique.

find . -depth -name '*.pdf' -exec cp {} /REPERTOIRE_DE_DESTINATION/ \;

Pour les fichiers portant le même nom, je crains qu'il faille les renommer avant tout déplacement (avec pyRenamer par exemple).

Dernière modification par cinaptix (Le 22/01/2011, à 19:18)


↔ Libriste radicalisé depuis mai 2007 ↔
① - Xubuntu 20.04 - CM Gigabyte GA-B85M-D3H - Pentium G3420 à 3,2 Ghz - RAM 8 Go à 1600 Mhz - SSD 64 Go + HDD 500 Go.
② - Raspberry Pi 3 (Raspbian Stretch) — ③ - Tablette Lenovo 10' (Android 10) — ④ - Smartphone Honor 9A (dégooglisé)

Hors ligne

#3 Le 22/01/2011, à 20:02

Levi59

Re : Recherche ET déplacement en masse [Résolu]

Quand tu dis par type, tu entends [jpg - png - avi - mpeg - mp3] tous séparés ou bien [image - vidéo - son]

Sinon un petit script qui récupère les fichiers, les renommes selon la date actuelle et les copies dans un dossier par type est assez facile à faire.

Hors ligne

#4 Le 22/01/2011, à 21:29

flashmates

Re : Recherche ET déplacement en masse [Résolu]

tu peux me guider concernant ce script qui renomme les fichiers?

cinaptix, cette commande est à faire dans chaque dossier contenant ? si c'est le cas ça ne m'arrange pas étant donné que sur ce disque dur il y a des sous-dossiers planqués dans d'autres, etc... donc est-il possible de le faire de manière généralisée à un disque et tout ses dossiers et sous-dossiers?

promis après je rangerai systématiquement mes fichiers ^^

Hors ligne

#5 Le 22/01/2011, à 22:39

Levi59

Re : Recherche ET déplacement en masse [Résolu]

Exemple:
Ce script déplacera tout les fichier d'un dossier et de son arborescence dans un sous répertoire (audio, video, text,...) du dossier de destination et les renommera en ajoutant "CopieX___" au début si un fichier de même nom existe. (Plus facile de renommer en masse les doublons plus tard)

Ça fonctionne également si tu utilise le même dossier d'origine et de destination (les fichiers déjà rangés sont ignorés)

#!/bin/bash
# script pour réorganiser une arborescence rapidement
#
# Copyright (C) 22 Jan. 2011, Rombeaut Rodolphe
# http://scriptam.over-blog.com/
# Released into the public domain.

ORIG="/répertoire à trier"
DEST="/répertoire de destination"

# ------------------------
# Partie à ne pas toucher
# ------------------------

ORIG=${ORIG%/}
DEST=${DEST%/}

find $ORIG/ -regextype "posix-extended" -depth -type f -regex ".*"  | while read fichier ; do
    a=$(file -ib "${fichier}")
    [ -d "$DEST/${a%%/*}" ] || mkdir -p "$DEST/${a%%/*}"
    mvfichier=${fichier##*/}
    [ "${fichier%/*}" != "$DEST/${a%%/*}" ] && {
    [ -f "$DEST/${a%%/*}/${mvfichier}" ] && {
        b=1
        while [ -f "$DEST/${a%%/*}/copie${b}___${mvfichier#*___}" ] ; do ((b++)) ; done
        mv "${fichier}" "$DEST/${a%%/*}/copie${b}___${mvfichier#*___}" 
    } || mv "${fichier}" "$DEST/${a%%/*}/${mvfichier}"
    }
done
find $ORIG/ -type d -exec rmdir 2>/dev/null {} \;

On peut aussi renommer systématiquement mais ca alourdi pas mal les noms de fichiers donc j'ai préféré cette solution.

Edit corrigé!
Maintenant il créé des copies numéroté si des fichiers possèdent le même nom. Attention tout de meme, ce script trie fichier par fichier et non par dossiers donc toutes les images seront mélangé ensemble, tout les texte seront ensemble, ... mais c'était ce qui était demandé.

Dernière modification par Levi59 (Le 22/01/2011, à 22:59)

Hors ligne

#6 Le 22/01/2011, à 22:45

flashmates

Re : Recherche ET déplacement en masse [Résolu]

parfait c'est exactement ça que je voulais merci beaucoup !! smile

Hors ligne

#7 Le 22/01/2011, à 22:58

Levi59

Re : Recherche ET déplacement en masse [Résolu]

De rien! N'oublie pas le [Résolu] dans le titre du topic (il faut modifier le premier message)

Dernière modification par Levi59 (Le 22/01/2011, à 22:58)

Hors ligne