#1 Le 20/04/2013, à 17:05
- buzut
passer un array à find -name [RÉSOLU]
Bonjour à tous !
je me suis inspiré du script de nesthib pour l'adapter un peu à d'autres besoins.
Et je me demandais s'il était possible de passer un array à find -name, pour rechercher par exemple, tous les fichiers .pdf, ou .txt. ou .rtf etc !
Merci d'avance
Dernière modification par buzut (Le 20/04/2013, à 19:07)
Hors ligne
#2 Le 20/04/2013, à 17:35
- Hizoka
Re : passer un array à find -name [RÉSOLU]
avec un array...
plusieurs recherches :
find . -name "*.pdf" -o -name "*.txt" -o -name "*.rtf"
apres pour incorporer les valeurs...
sauf si tu connais précisement le nombre d'element...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#3 Le 20/04/2013, à 17:47
- Watael
Re : passer un array à find -name [RÉSOLU]
salut,
avec un tableau, j'utiliserais plutôt -regex
$ ar=( 'pdf' 'txt' )
$ (IFS='|'; find ~ -type f -regextype posix-extended -regex ".*/*\.(${ar[*]})")
les parenthèses autour du find sont là pour ne pas .modifier l'IFS de l'environnement courant
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#4 Le 20/04/2013, à 18:43
- buzut
Re : passer un array à find -name [RÉSOLU]
@Watael yes génial ça !!
En revanche, j'ai pas bien compris le truc l'IFS de l'environnement courant… L'IFS correspond au caractère qui sert de séparateurs entre les mots, donc j'ai bien compris ce que c'est, en revanche, je vois pas bien ici pourquoi tu le redéfinis ?
C'est sur, ça marche, mais ma curiosité voudrait savoir comment
Merci à toi en tout cas !
@Hizoka, oui en plusieurs recherches, mais c'est plus verbeux…
Hors ligne
#5 Le 20/04/2013, à 18:52
- Watael
Re : passer un array à find -name [RÉSOLU]
en utilisant l'astérisque pour lister les éléments d'un tableau, c'est l'IFS qui est utilisé comme séparateur.
à la place d'un espace, il faut le remplacer par une barre verticale pour construire la regex.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#6 Le 20/04/2013, à 19:04
- Hizoka
Re : passer un array à find -name [RÉSOLU]
bien vu le coup du regex
ca je ne savais pas par contre :
en utilisant l'astérisque pour lister les éléments d'un tableau, c'est l'IFS qui est utilisé comme séparateur.
il y a donc une différence !
merci Watael
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#7 Le 20/04/2013, à 19:06
- buzut
Re : passer un array à find -name [RÉSOLU]
merci de cet éclaircissement !
J'aurai appris bien des choses aujourd'hui.
Allez, hop, résolu !
Hors ligne