Slt, Ah, inverser le comptage des lignes dans Vim ou Emacs! Voici comment vous pouvez le faire: **Pour Vim:** 1. Ouvrez le fichier dans Vim. 2. Tapez `:set nu` pour activer l'affichage des numéros de ligne. 3. Si vous souhaitez inverser l'ordre de comptage, vous devrez probablement créer une fonction personnalisée dans VimScript car Vim n'a pas de fonctionnalité intégrée pour cela. **Pour Emacs:** 1. Ouvrez le fichier dans Emacs. 2. Activez l'affichage des numéros de ligne en tapant `M-x linum-mode`. 3. Vous pouvez utiliser le package `nlinum` pour une meilleure gestion des numéros de ligne. Malheureusement, Emacs non plus ne prend pas en charge l'inversion de l'ordre de comptage des lignes directement. Vous devrez probablement créer une fonction personnalisée en Emacs Lisp. Si vous avez des questions spécifiques sur la création de ces fonctions personnalisées, n'hésitez pas à demander. C'est un défi intéressant!
null Le sam. 1 mars 2025 à 23:42, Marc Chantreux <[email protected]> a écrit : > salut, > > On Sat, Mar 01, 2025 at 09:02:20PM +0100, Bernard Schoenacker wrote: > > Bonjour, > > Merci beaucoup pour la réponse, attention c'est juste un exemple dans > une liste > > <terme de matière> " espace " <Qtité numérique> " espace" <unité g pour > grammes> > > dans ton premier mail, le séparateur n'est pas un espace mais une > tabulation. si c'est le cas tout le temps alors le problème est simple: > > <<% hd > Butter 500g > > Ici c'est bien une tabulation > v > 00000000 42 75 74 74 65 72 09 35 30 30 67 0a |Butter.500g.| > 0000000c > > du coup: > > <<% awk -F'\t' -vOFS='\t' '{t=$1;$1=$2;$2=t}1' > Butter 500g > Amour pour le format TSV ∞ > > ou une version plus verbeuse > > awk ' > BEGIN { FS = OFS = "\t" } > { > temp = $1 > $1 = $2 > $2 = temp > } > 1 # toujours vrai donc fait toujours l'action par défaut ({print}) > ' > > ou en perl si tu as de gros volumes (ce qui ne sera pas le cas pour une > recette): > > <<% perl -plF'\t' -E '$_=join "\t", reverse @F' > Butter 500g > Amour pour le format TSV ∞ > > > > Merci beaucoup pour la réponse, attention c'est juste un exemple dans > une liste > > <terme de matière> " espace " <Qtité numérique> " espace" <unité g pour > grammes> > > si tu dis vrai (on ne peut pa compter sur \t), faut prévoir les cas > pourris du genre > > > doliprane 1G 1 barquette > huile d'olive ½ louche > > ma stratégie serait donc > > <produit> <ws>* <quantité> <ws>* <unité> > > et donc considérer que <quantité est la dernière valeur numérique de la > ligne. > > > <<% perl -plE '/(.*) *(\d+|[½¾]) *(.*)/; $_="$2 $3\t$1"' > doliprane 1G 1 barquette > huile d'olive ½ louche > > <<% sed -E 's/(.*) *([0-9]+|[½¾]) *(.*)/\2 \3\t\1/' > doliprane 1G 1 barquette > huile d'olive ½ louche > > bonne soirée > > > -- > Marc Chantreux > Pôle CESAR (Calcul et services avancés à la recherche) > Université de Strasbourg > 14 rue René Descartes, > BP 80010, 67084 STRASBOURG CEDEX > 03.68.85.60.79 > >

