Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Linux]Expressions régulières avec la commende find

Sujet résolu
29 novembre 2010 à 18:37:41

Bonsoir,
J'ai longuement cherché, mais ce que j'ai trouvé sur la commende "find" c'est seulement l'«*» qui peut dire «commence par» ou bien «se termine par», est ce possible d'avoir plus d'option tel que limiter le nombre de lettre maximum, ne contient pas les chiffres etc...
Merci :p
  • Partager sur Facebook
  • Partager sur Twitter
29 novembre 2010 à 21:48:26

Bonsoir

Il y a l'option -regex qui peut t'aider (avec -regextype éventuellement). Attention, la regex est sur le chemin complet.

Pour une regex excluant les chiffres, ça donnerait ceci :

find . -regex '[^0-9]*'

Pour exclure les chiffres et limiter le nombre de caractères à 25 (par exemple), tu peux faire comme cela :

find . -regextype "posix-extended" -regex '[^0-9]{,25}'

Bonne nuit
  • Partager sur Facebook
  • Partager sur Twitter
29 novembre 2010 à 22:00:23

Merci beaucoup :)

Edit: mais y a pas moyen d'agir seulement sur le nom du fichier?
  • Partager sur Facebook
  • Partager sur Twitter
29 novembre 2010 à 22:08:18

De rien :)

Je ne sais pas si c'est possible d'agir seulement sur le nom du fichier.

EDIT : Désolé, je n'ai pas eu le temps de détailler un peu plus tout à l'heure.
Comme je disais, je ne sais pas si ce que tu demandes est possible, je veux dire avec les options de find. Cependant, tu peux te débrouiller avec les regex elles-mêmes, par exemple, pour ne chercher que les noms de fichiers ou répertoires contenant moins de 12 caractères, tu peux faire ceci :

find . -regextype "posix-extended" -regex '.*/[^/]{1,12}'

Suivant ce que tu cherches à faire, il y a aussi les opérateurs qui peuvent t'être utiles : ! (non),-a (et), -o (ou), etc.
  • Partager sur Facebook
  • Partager sur Twitter
30 juillet 2020 à 9:25:42

Liste des expressions régulières
Source : https://help.libreoffice.org/3.3/Common/List_of_Regular_Expressions/fr

-
Edité par Richard RUSSO 30 juillet 2020 à 9:47:51

  • Partager sur Facebook
  • Partager sur Twitter

Richard Russo

30 juillet 2020 à 12:52:29

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL