View previous topic :: View next topic |
Author |
Message |
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Tue Jan 24, 2012 6:20 pm Post subject: [rename]Les regex ne fonctionnent pas s/truc/machin/(Résolu) |
|
|
Bonjour,
Je cherche à utiliser la commande rename pour modifier une chaine de caractère présente dans plusieurs fichiers et je me suis rendu compte que la syntaxe « rename s/truc/machin/ FICHIER » ne marche tout bonnement pas.
En outre, j’ai deux atomes portant le nom de « rename » que sont « dev-perl/rename » et « sys-apps/rename ».
Dans tous les cas where rename renvoi : /usr/bin/rename.
Je tiens à préciser que la syntaxe du type « rename substitué substituant fichier… » fonctionne parfaitement, le problème ne semble se situé qu’avec les regex.
Auriez-vous s’il vous plait une idée sur ce genre de dysfonctionnement ? De mon coté je ne trouve rien de spécial sur les moteurs de recherches :/
Merci par anticipation,
À bientôt. _________________ La vérité n’est que le mensonge le plus crédible au monde.
Last edited by Napoleon on Tue Jan 24, 2012 6:38 pm; edited 1 time in total |
|
Back to top |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
Posted: Tue Jan 24, 2012 6:27 pm Post subject: |
|
|
Parce que la version avec regexp (celle qu'on trouve sous le nom "rename" sur ubuntu) est dev-perl/rename.
La version "de base", celle installée anciennement par sys-apps/rename et maintenant directement par util-linux (connue sous ubuntu sous le nom "rename.ul"), ne gère pas les regexp. Tout simplement
Ce sont bien 2 outils différents. Si tu veux les regexp, installes dev-perl/rename, et tu auras la commande "perl-rename" qui correspond exactement au "rename" de ubuntu. Mais aucun dysfonctionnement ici, que du normal ! _________________ Merci de respecter les règles du forum.
Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing |
|
Back to top |
|
|
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Tue Jan 24, 2012 6:37 pm Post subject: |
|
|
guilc wrote: | Parce que la version avec regexp (celle qu'on trouve sous le nom "rename" sur ubuntu) est dev-perl/rename.
La version "de base", celle installée anciennement par sys-apps/rename et maintenant directement par util-linux (connue sous ubuntu sous le nom "rename.ul"), ne gère pas les regexp. Tout simplement ;) | Ah, fallait le savoir. C’est vrais qu’en cherchant plus profondément je vis que le nom changeait d’une distrib’ à l’autre.
guilc wrote: | Ce sont bien 2 outils différents. Si tu veux les regexp, installes dev-perl/rename, et tu auras la commande "perl-rename" qui correspond exactement au "rename" de ubuntu. Mais aucun dysfonctionnement ici, que du normal ! | Ah, merci tu me sauve ! anéfay çamarche© désormais.
Mais… une question se pause : Comment faire en sorte que ça puisse étre portable dans un script ? l’évitée complètement ?
Merci encore. _________________ La vérité n’est que le mensonge le plus crédible au monde. |
|
Back to top |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
Posted: Tue Jan 24, 2012 6:57 pm Post subject: |
|
|
Commande pas portable => script pas portable :p
Dans l'absolu, si tu veux rester portable, il faut en rester aux commande POSIX (un subset de coreutils) avec leurs options POSIX (les coreutils linux ajoutent des options spécifiques en plus des options standard POSIX)
Mais sinon, le moyen le plus simple reste de faire à minima une variable contenant le nom de la commande à appeler, et plus joli, un petit fichier de conf C'est comme ça que c'est traditionnellement fait.
Tu déploies le script sur une machine => tu configures la variable, et hop, c'est réglé. _________________ Merci de respecter les règles du forum.
Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing |
|
Back to top |
|
|
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Wed Jan 25, 2012 12:54 pm Post subject: |
|
|
Merci guilc pour les précisions :) _________________ La vérité n’est que le mensonge le plus crédible au monde. |
|
Back to top |
|
|
|