Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1475 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Quel est l'equivalent de find -iname avec aussi les accents?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Quel est l'equivalent de find -iname avec aussi les accents?

n°1382074
gee
Bon ben hon
Posté le 13-10-2015 à 02:22:31  profilanswer
 

Salut,
 
petite question surement simple mais je n'ai pas trouve.
Comment faire pour avoir une commande "find . -iname..." avec un "iname" qui accepte aussi les accents (donc pas de soucis de case ou d'accent)?.
 
Le but serait d'avoir un truc du genre:
 
# find . -ename "ed*"..
qui trouverait des fichiers qui commencent par
> Ed..
> ed...
> éd..
 
Merci


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
mood
Publicité
Posté le 13-10-2015 à 02:22:31  profilanswer
 

n°1382075
Profil sup​primé
Posté le 13-10-2015 à 02:39:33  answer
 

Tu peux pas.
 
Le mieux que j'ai.
 
 
ls *cution
exécution  EXÉcution
 
exc  : find -iname "EX*" | unaccent UTF-8 | grep -i ex :
 
Resultat :
./EXEcution
./execution
 
 
Ou
 find -iname "EX*" -exec unaccent UTF-8 {} \; -print

n°1382076
Profil sup​primé
Posté le 13-10-2015 à 02:48:30  answer
 

Oups, -print double le résultat, on peut donc s'en passer.
Ca marche aussi si on spécifi le caractère accentué dans le pattern donné à find avec iname.

n°1382078
Profil sup​primé
Posté le 13-10-2015 à 03:30:39  answer
 

Merci à toi cette fois.
Tu m'as permi d'enrichier mon propre programme.

n°1382080
gee
Bon ben hon
Posté le 13-10-2015 à 07:07:39  profilanswer
 


Pour l'instant en effet, mais j'espere que quelqu'un sait comment le pouvoir :)

  

Le probleme c'est que tu ne cherches pas "exe" mais "ex" donc tu enleves le charactere `problematique'.
Ca ne me parait pas super.
Je pense que

Code :
  1. find -iname "EX*" | unaccent UTF-8 | grep -i exe


serait mieux, mais dans tous les cas apres unaccent tu perds l'acces au fichier... vu que tu ne sais plus quel est son ortographe exacte.

 

Une autre facon de faire:

Code :
  1. find .  -regex '[eE][xX][eéE].*'


a le bon comportement mais c'est trop manuel... sauf si une fonction existe pour passer d'une variante aux autres:
donc de e a e, E, é, etc
mais aussi de é a a e, E, é, etc
(en gros l'inverse de ce que j'imagine ta fonction unaccent fait)
(bon passer de miniscule en majuscule est facile en ASCII, maiis les accents... faudrait creer une table avec tout cela, ca parait lourd)

 

edit: iregex au lieux de regex et plus de soucis de case.

 


Hmmm je ne vois pas ca fonctionnerait, quelle ligne as-tu en tete?

 

:jap:

 

Merci!


Message édité par gee le 13-10-2015 à 09:20:52

---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°1382082
gee
Bon ben hon
Posté le 13-10-2015 à 08:17:41  profilanswer
 

J'ai fait quelques progres:

Citation :


Equivalence classes
Locale-specific names for a list of characters that are equal. The name is enclosed between `[=' and `=]'. For example, the name `e' might be used to represent all of "e," "è," and "é." In this case, [[=e=]] is a regexp that matches any of `e', `é', or `è'.


 
Mais je n'arrive pas a le faire fonctionner :/


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"
n°1382142
Mjules
Modérateur
Parle dans le vide
Posté le 13-10-2015 à 23:19:07  profilanswer
 

https://superuser.com/questions/218 [...] -different
 
:??:


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1382147
gee
Bon ben hon
Posté le 14-10-2015 à 00:04:58  profilanswer
 

Justement, je l'avais lu

Citation :


The GNU tools appear to have code that causes accented letters to be treated like their base letters when matching a regex character class, if supported by the character encoding. This is intended as a "do what I mean" sort of feature to make writing regexes easier, but in this case it's getting in your way.


mais ca ne donne rien ici...
J'ai teste avec differentes locales mais sans resultat...
 
Merci


---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Quel est l'equivalent de find -iname avec aussi les accents?

 

Sujets relatifs
[latex] écriture des accents diverses[Résolu] Plus de boot au démarrage (Win7/Ubuntu) Cannot find ...
Logiciel équivalent a Gogole Sketshup sous linux ?equivalent Royal TS sous Linux
teamviewer ou equivalent ... en libreInstaller Ubuntu sur un DD sans Grub (ou équivalent) ?
find et xargs sous AIXScript bash, fichier txt par mail contenant des accents
Commande find sous condition 
Plus de sujets relatifs à : Quel est l'equivalent de find -iname avec aussi les accents?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR