Comment faire, étant donné un fichier texte, pour compter le nombre de
chaînes correspondant à un motif donné, en ne comptant chaque chaîne qu'un
fois même si elle apparaît à plusieurs reprises ? Autrement dit, compter
les chaînes plutôt que leurs occurrences ?
Par exemple, étant donné le « texte » suivant, et le motif \\[a-zA-Z@],
j'aimerais avoir un décompte final de 3 (si j'ai bien compté sur mes doigts)
\def\ma@macro#1{\def\A{#1}}
Pour l'instant, je sais compter les occurrences par exemple avec vim,
et pour compter les chaînes à la place, je verrais bien une ligne de
commande qui termine par | sort --unique | wc, mais le problème est que
chaque chaîne n'apparaît pas isolée sur une ligne.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
2007-06-24, 21:07(+02), mpg:
Bonjour,
Comment faire, étant donné un fichier texte, pour compter le nombre de chaînes correspondant à un motif donné, en ne comptant chaque chaîne qu'un fois même si elle apparaît à plusieurs reprises ? Autrement dit, compter les chaînes plutôt que leurs occurrences ?
Par exemple, étant donné le « texte » suivant, et le motif [a-zA-Z@], j'aimerais avoir un décompte final de 3 (si j'ai bien compté sur mes doigts)
Comment faire, étant donné un fichier texte, pour compter le nombre de
chaînes correspondant à un motif donné, en ne comptant chaque chaîne qu'un
fois même si elle apparaît à plusieurs reprises ? Autrement dit, compter
les chaînes plutôt que leurs occurrences ?
Par exemple, étant donné le « texte » suivant, et le motif \[a-zA-Z@],
j'aimerais avoir un décompte final de 3 (si j'ai bien compté sur mes doigts)
Comment faire, étant donné un fichier texte, pour compter le nombre de chaînes correspondant à un motif donné, en ne comptant chaque chaîne qu'un fois même si elle apparaît à plusieurs reprises ? Autrement dit, compter les chaînes plutôt que leurs occurrences ?
Par exemple, étant donné le « texte » suivant, et le motif [a-zA-Z@], j'aimerais avoir un décompte final de 3 (si j'ai bien compté sur mes doigts)
Merci, ça marche parfaitement sur cet exemple. Par contre, dès que
j'essaie sur un vrai fichier, il ne tient compte que de ce qui se passe sur la première ligne.
Vu que je ne connais encore rien à Perl (j'apprendrai bientôt), je me sens assez incapable de faire la modification, sans doute minime, qui s'impose. Toujours vu mon ignorance, le !{$s{$_}++} me paraît vraiment magique : j'adore !
Simple curiosité, il y a moyen de faire la même chose en utilisant uniquement les outils unix standard ?
Manuel.
Le Sun, 24 Jun 2007 19:25:58 +0000, Stephane Chazelas a écrit:
Par exemple, étant donné le « texte » suivant, et le motif \[a-zA-Z@],
j'aimerais avoir un décompte final de 3 (si j'ai bien compté sur mes
doigts)
Merci, ça marche parfaitement sur cet exemple. Par contre, dès que
j'essaie sur un vrai fichier, il ne tient compte que de ce qui se passe
sur la première ligne.
Vu que je ne connais encore rien à Perl (j'apprendrai bientôt), je me sens
assez incapable de faire la modification, sans doute minime, qui s'impose.
Toujours vu mon ignorance, le !{$s{$_}++} me paraît vraiment magique :
j'adore !
Simple curiosité, il y a moyen de faire la même chose en utilisant
uniquement les outils unix standard ?
Merci, ça marche parfaitement sur cet exemple. Par contre, dès que
j'essaie sur un vrai fichier, il ne tient compte que de ce qui se passe sur la première ligne.
Vu que je ne connais encore rien à Perl (j'apprendrai bientôt), je me sens assez incapable de faire la modification, sans doute minime, qui s'impose. Toujours vu mon ignorance, le !{$s{$_}++} me paraît vraiment magique : j'adore !
Simple curiosité, il y a moyen de faire la même chose en utilisant uniquement les outils unix standard ?
Manuel.
Stephane Chazelas
2007-06-24, 22:20(+02), mpg:
Le Sun, 24 Jun 2007 19:25:58 +0000, Stephane Chazelas a écrit:
Par exemple, étant donné le « texte » suivant, et le motif [a-zA-Z@], j'aimerais avoir un décompte final de 3 (si j'ai bien compté sur mes doigts)
Merci, ça marche parfaitement sur cet exemple. Par contre, dès que
j'essaie sur un vrai fichier, il ne tient compte que de ce qui se passe sur la première ligne.
Vu que je ne connais encore rien à Perl (j'apprendrai bientôt), je me sens assez incapable de faire la modification, sans doute minime, qui s'impose. Toujours vu mon ignorance, le !{$s{$_}++} me paraît vraiment magique : j'adore !
Merci, ça marche parfaitement sur cet exemple. Par contre, dès que
j'essaie sur un vrai fichier, il ne tient compte que de ce qui se passe
sur la première ligne.
Vu que je ne connais encore rien à Perl (j'apprendrai bientôt), je me sens
assez incapable de faire la modification, sans doute minime, qui s'impose.
Toujours vu mon ignorance, le !{$s{$_}++} me paraît vraiment magique :
j'adore !
Merci, ça marche parfaitement sur cet exemple. Par contre, dès que
j'essaie sur un vrai fichier, il ne tient compte que de ce qui se passe sur la première ligne.
Vu que je ne connais encore rien à Perl (j'apprendrai bientôt), je me sens assez incapable de faire la modification, sans doute minime, qui s'impose. Toujours vu mon ignorance, le !{$s{$_}++} me paraît vraiment magique : j'adore !