Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/09/2022, à 23:59

Makogonov

Supprimer du contenu à l'intérieur d'accolades

Bonjour,
Je dispose d'une partie d'échecs (au format pgn). Malheureusement, elle est annotée avec des accolades. Ainsi, comment supprimer tout le contenu présent dans ces accolades (et supprimer les accolades avec) ? J'imagine qu'il est question de sed, grep et/ou regex, mais je n'ai pas le skill pour trouver le script.
Si quelqu'un pouvait m'aider, voici la partie :
(est-il également possible que vous commentiez chaque expression, option de votre script afin que je le comprenne ?)
Thanks guys smile

1. d4 { [%clk 0:05:00] } 1... Nf6 { [%clk 0:04:56] } { [%eval 0.45] } 2. c4 { [%clk 0:04:59] } { [%eval 0.5] } 2... e6 { [%clk 0:04:55] } { [%eval 0.82] } 3. Nc3 { [%clk 0:04:57] } { [%eval 0.34] } 3... Bb4 { [%clk 0:04:53] } { [%eval 0.41] } 4. a3 { [%clk 0:04:57] } { [%eval 0.26] } 4... Bxc3+ { [%clk 0:04:50] } { [%eval 0.34] } 5. bxc3 { [%clk 0:04:57] } { [%eval 0.12] } 5... b6 { [%clk 0:04:40] } { [%eval 0.02] } 6. f3 { [%clk 0:04:56] } { [%eval -0.16] } 6... Ba6 { [%clk 0:04:37] } { [%eval 0.29] } 7. e4 { [%clk 0:04:54] } { [%eval 0.14] } 7... Nc6 { [%clk 0:04:32] } { [%eval 0.09] } 8. Bd3 { [%clk 0:04:53] } { 0.09 → -0.53 Inaccuracy. Bg5 was best. } { [%eval -0.53] } (8. Bg5) 8... Na5 { [%clk 0:04:30] } { [%eval -0.58] } 9. Qe2 { [%clk 0:04:52] } { [%eval -0.75] } 9... O-O { [%clk 0:04:24] } { -0.75 → 0.74 Mistake. c5 was best. } { [%eval 0.74] } (9... c5) 10. e5 { [%clk 0:04:51] } { [%eval 0.29] } 10... Ne8 { [%clk 0:04:19] } { [%eval 0.42] } 11. Nh3 { [%clk 0:04:43] } { [%eval 0.2] } 11... Qh4+ { [%clk 0:04:14] } { [%eval 0.6] } 12. Kf1 { [%clk 0:04:39] } { 0.6 → -1.2 Blunder. Nf2 was best. } { [%eval -1.2] } (12. Nf2) 12... f6 { [%clk 0:04:10] } { [%eval -0.72] } 13. Bf4 { [%clk 0:04:18] } { [%eval -1.05] } 13... fxe5 { [%clk 0:04:00] } { [%eval -0.74] } 14. Bg5 { [%clk 0:03:47] } { -0.74 → -1.27 Inaccuracy. Bg5 was best. } { [%eval -1.27] } (14. Bg5 Qh5 15. dxe5 d6 16. Re1 dxe5 17. Qxe5 Nd6 18. Qxe6+ Qf7 19. Nf4 Bxc4 20. Bxc4 Naxc4) 14... Qh5 { [%clk 0:03:51] } { [%eval -0.85] } 15. dxe5 { [%clk 0:03:18] } { [%eval -1.17] } 15... Kh8 { [%clk 0:03:04] } { -1.17 → 0.68 Blunder. d6 was best. } { [%eval 0.68] } (15... d6) 16. Qe4 { [%clk 0:03:08] } { 0.68 → -1.07 Blunder. Re1 was best. } { [%eval -1.07] } (16. Re1 Kg8) 16... Nb3 { [%clk 0:02:51] } { -1.07 → 2.49 Blunder. Bb7 was best. } { [%eval 2.49] } (16... Bb7 17. Qe3) 17. Qxa8 { [%clk 0:02:58] } { [%eval 3.32] } 17... Nxa1 { [%clk 0:02:42] } { [%eval 3.3] } 18. Be7 { [%clk 0:02:56] } { [%eval 3.3] } 18... Rg8 { [%clk 0:02:13] } { [%eval 3.06] } 19. Qxa7 { [%clk 0:02:38] } { [%eval 2.49] } 19... Qxe5 { [%clk 0:01:52] } { [%eval 2.73] } 20. Qxa6 { [%clk 0:02:26] } { [%eval 2.17] } 20... Qxc3 { [%clk 0:01:51] } { 2.17 → 2.99 Inaccuracy. Nb3 was best. } { [%eval 2.99] } (20... Nb3) 21. c5 { [%clk 0:02:11] } { [%eval 2.91] } 21... Qc1+ { [%clk 0:01:44] } { 2.91 → 4.79 Mistake. Qc1+ was best. } { [%eval 4.79] } (21... Qc1+) 22. Kf2 { [%clk 0:02:06] } { [%eval 4.37] } 22... Qxh1 { [%clk 0:01:42] } { 4.37 → 5.68 Inaccuracy. Qb2+ was best. } { [%eval 5.68] } (22... Qb2+) 23. cxb6 { [%clk 0:01:50] } { 5.68 → 2.26 Blunder. Ng5 was best. } { [%eval 2.26] } (23. Ng5) 23... cxb6 { [%clk 0:01:40] } { [%eval 4.75] } 24. Ng5 { [%clk 0:01:18] } { 4.75 → 3.29 Inaccuracy. Ng5 was best. } { [%eval 3.29] } (24. Ng5 g6 25. Qc8 Qxh2 26. Nf7+ Kg7 27. Qxd7 Qc7 28. Qxe6 Qf4 29. Ne5 b5 30. Bg5 Qd4+) 24... g6 { [%clk 0:01:20] } { 3.29 → 7.41 Blunder. g6 was best. } { [%eval 7.41] } (24... g6 25. Qc8) 25. Qxb6 { [%clk 0:01:06] } { 7.41 → 0.72 Blunder. Qc4 was best. } { [%eval 0.72] } (25. Qc4) 25... Qxh2 { [%clk 0:00:36] } { 0.72 → 4.49 Blunder. Qc1 was best. } { [%eval 4.49] } (25... Qc1) 26. Qd4+ { [%clk 0:01:00] } { [%eval 5.02] } 26... e5 { [%clk 0:00:35] } { 5.02 → 11.23 Mistake. Rg7 was best. } { [%eval 11.23] } (26... Rg7) 27. Qxa1 { [%clk 0:00:49] } { 11.23 → 3.72 Blunder. Nf7+ was best. } { [%eval 3.72] } (27. Nf7+ Kg7 28. Nxe5 Nb3 29. Qxd7 Kh8 30. Nf7+ Kg7 31. Nd6 Kh6 32. Nxe8 Nd4 33. Bf6 Nxf3) 27... h6 { [%clk 0:00:34] } { 3.72 → 6.93 Mistake. Rg7 was best. } { [%eval 6.93] } (27... Rg7 28. Bd8) 28. Nf7+ { [%clk 0:00:44] } { [%eval 6.86] } 28... Kg7 { [%clk 0:00:33] } { [%eval 9.53] } 29. Nxe5 { [%clk 0:00:31] } { [%eval 8.98] } 29... Kh7 { [%clk 0:00:29] } { [%eval 9.81] } 30. Ng4 { [%clk 0:00:15] } { [%eval 6.73] } 30... Qf4 { [%clk 0:00:21] } { [%eval 7.23] } 31. Qe5 { [%clk 0:00:04] } { [%eval 7.1] } 31... Qd2+ { [%clk 0:00:19] } { [%eval 7.54] } 32. Qe2 { [%clk 0:00:02] } { [%eval 6.15] } 32... Qxe2+ { [%clk 0:00:16] } { [%eval 6.48] } 33. Kxe2 { [%clk 0:00:02] } { [%eval 6.11] } 33... Nc7 { [%clk 0:00:15] } { 6.11 → 9.1 Inaccuracy. h5 was best. } { [%eval 9.1] } (33... h5 34. Ne5 Kg7 35. Nxg6 Nf6 36. Bd6 Nd5 37. Nf4 Nxf4+ 38. Bxf4 Kf6 39. g3 Ra8 40. Bc1) 34. Ne5 { [%clk 0:00:01] } { 9.1 → 5.84 Inaccuracy. Nf6+ was best. } { [%eval 5.84] } (34. Nf6+ Kg7 35. Nxg8 Kxg8 36. a4 Kf7 37. Bd6 Ne6 38. a5 Nd4+ 39. Kf2 Nc6 40. a6 Ke6) 34... Nd5 { [%clk 0:00:13] } { [%eval 5.76] } 35. Bf6 { [%clk 0:00:01] } { 5.76 → -2.56 Blunder. Nxg6 was best. } { [%eval -2.56] } (35. Nxg6 Rxg6 36. Bxg6+ Kxg6 37. Bc5 h5 38. Kd2 Nf4 39. g3 Ne6 40. Bf2 Kf6 41. a4 Ke7) 35... Nf4+ { [%clk 0:00:12] } { -2.56 → 2.72 Blunder. Nxf6 was best. } { [%eval 2.72] } (35... Nxf6 36. Nxg6 Ra8 37. Ne7+ Kh8 38. Nf5 h5 39. g4 Rxa3 40. gxh5 Nxh5 41. Ke3 Kg8 42. Nd6) 36. Ke3 { [%clk 0:00:00] } { 2.72 → -1.27 Blunder. Kd2 was best. } { [%eval -1.27] } (36. Kd2 d6 37. Nc4 Nxg2 38. Be4 h5 39. Nxd6 h4 40. Be5 Rf8 41. Bh2 h3 42. a4 Rb8) 36... Nxd3 { [%clk 0:00:11] } { black wins on time. } { -1.27 → 3.35 Blunder. Nd5+ was best. } { [%eval 3.35] } (36... Nd5+ 37. Kd4 Nxf6 38. a4 Ra8 39. Bc2 Kg7 40. Nxg6 h5 41. Nf4 Ra5 42. Kc4 Kh6 43. g3)

Dernière modification par Makogonov (Le 20/09/2022, à 08:30)

Hors ligne

#2 Le 20/09/2022, à 00:07

Vobul

Re : Supprimer du contenu à l'intérieur d'accolades

Si le fichier qui contient les données se nomme "pgn":

tr -d '{}' < pgn

Comment ça fonctionne ?

man tr

Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 20/09/2022, à 00:20

Watael

Re : Supprimer du contenu à l'intérieur d'accolades

est-il également possible que vous commentiez chaque expression, option de votre script afin que je le comprenne ?

est-ce que tu veux un Mars® avec ?


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#4 Le 20/09/2022, à 00:26

Watael

Re : Supprimer du contenu à l'intérieur d'accolades

Vobul a écrit :

Si le fichier qui contient les données se nomme "pgn":

tr -d '{}' < pgn

Comment ça fonctionne ?

man tr

je crois que ce que cherche Makogonov , c'est

$ sed 's/{[^}]*}//g' chess.pgm
Makogonov a écrit :

supprimer tout le contenu présent dans ces accolades (et supprimer les accolades avec)


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#5 Le 20/09/2022, à 00:36

Makogonov

Re : Supprimer du contenu à l'intérieur d'accolades

Vobul a écrit :

Si le fichier qui contient les données se nomme "pgn":

tr -d '{}' < pgn

Comment ça fonctionne ?

man tr

Cela ne fait que supprimer les accolades sans supprimer le contenu.

Dernière modification par Makogonov (Le 20/09/2022, à 00:37)

Hors ligne

#6 Le 20/09/2022, à 00:46

Makogonov

Re : Supprimer du contenu à l'intérieur d'accolades

Watael a écrit :
Vobul a écrit :

Si le fichier qui contient les données se nomme "pgn":

tr -d '{}' < pgn

Comment ça fonctionne ?

man tr

je crois que ce que cherche Makogonov , c'est

$ sed 's/{[^}]*}//g' chess.pgm
Makogonov a écrit :

supprimer tout le contenu présent dans ces accolades (et supprimer les accolades avec)

C'est exactement ça (il manque juste le mars et les explications). Car j'ai du mal à interpréter ce motif :    {[^}]*}
Je vous remercie pour votre réactivité et pour pour l'efficacité de votre script. J'ai également fait la même chose pour effacer les parenthèses et leur contenu. Aussi, quel serait le moyen pour effacer accolades (et leur contenu) + parenthèses (et leur contenu) en un seul script ? (histoire d'optimiser car c'est une manipulation que je devrai faire souvent).

Dernière modification par Makogonov (Le 20/09/2022, à 01:35)

Hors ligne

#7 Le 20/09/2022, à 02:26

Watael

Re : Supprimer du contenu à l'intérieur d'accolades

ça supprime, depuis l'accolade ouvrante, tout ce qui n'est pas une accolade fermante, jusqu'à la plus proche accolade fermante.


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#8 Le 20/09/2022, à 05:24

xubu1957

Re : Supprimer du contenu à l'intérieur d'accolades

Bonjour,

Comme demandé dans le premier message du tutoriel Retour utilisable de commande

Pour ajouter toi-même les balises code à ton précédent message #1 :

  • Cliquer sur  le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message

1642675956.jpg

1. d4 { [%clk 0:05:00] } 1... Nf6 { [%clk 0:04:56] } { [%eval 0.45] }
2. c4 { [%clk 0:04:59] } { [%eval 0.5] } 2... e6 { [%clk 0:04:55] } { [%eval 0.82] } 
3. Nc3 { [%clk 0:04:57] } { [%eval 0.34] } 
3... Bb4 { [%clk 0:04:53] } { [%eval 0.41] } 4. a3 { [%clk 0:04:57] } { [%eval 0.26] } 
4... Bxc3+ { [%clk 0:04:50] } { [%eval 0.34] } 5. bxc3 { [%clk 0:04:57] } { [%eval 0.12] } 
5... b6 { [%clk 0:04:40] } { [%eval 0.02] } 
6. f3 { [%clk 0:04:56] } { [%eval -0.16] } 6... Ba6 { [%clk 0:04:37] } { [%eval 0.29] } 
7. e4 { [%clk 0:04:54] } { [%eval 0.14] } 7... Nc6 { [%clk 0:04:32] } { [%eval 0.09] }
8. Bd3 { [%clk 0:04:53] } { 0.09 → -0.53 Inaccuracy. Bg5 was best. } { [%eval -0.53] }
(8. Bg5) 8... Na5 { [%clk 0:04:30] } { [%eval -0.58] } 
9. Qe2 { [%clk 0:04:52] } { [%eval -0.75] } 9... O-O { [%clk 0:04:24] } { -0.75 → 0.74 Mistake. c5 was best. } { [%eval 0.74] }
(9... c5) 
10. e5 { [%clk 0:04:51] } { [%eval 0.29] } 
10... Ne8 { [%clk 0:04:19] } { [%eval 0.42] } 
11. Nh3 { [%clk 0:04:43] } { [%eval 0.2] }
11... Qh4+ { [%clk 0:04:14] } { [%eval 0.6] } 
12. Kf1 { [%clk 0:04:39] } { 0.6 → -1.2 Blunder. Nf2 was best. } { [%eval -1.2] } 
(12. Nf2) 
12... f6 { [%clk 0:04:10] } { [%eval -0.72] } 
13. Bf4 { [%clk 0:04:18] } { [%eval -1.05] }
13... fxe5 { [%clk 0:04:00] } { [%eval -0.74] } 
14. Bg5 { [%clk 0:03:47] } { -0.74 → -1.27 Inaccuracy. Bg5 was best. } { [%eval -1.27] }
(14. Bg5 Qh5 15. dxe5 d6 16. Re1 dxe5 17. Qxe5 Nd6 18. Qxe6+ Qf7 19. Nf4 Bxc4 20. Bxc4 Naxc4) 
14... Qh5 { [%clk 0:03:51] } { [%eval -0.85] } 
15. dxe5 { [%clk 0:03:18] } { [%eval -1.17] } 
15... Kh8 { [%clk 0:03:04] } { -1.17 → 0.68 Blunder. d6 was best. } { [%eval 0.68] } 
(15... d6) 
16. Qe4 { [%clk 0:03:08] } { 0.68 → -1.07 Blunder. Re1 was best. } { [%eval -1.07] }
(16. Re1 Kg8)
16... Nb3 { [%clk 0:02:51] } { -1.07 → 2.49 Blunder. Bb7 was best. } { [%eval 2.49] } 
(16... Bb7 17. Qe3) 17. Qxa8 { [%clk 0:02:58] } { [%eval 3.32] } 
17... Nxa1 { [%clk 0:02:42] } { [%eval 3.3] } 
18. Be7 { [%clk 0:02:56] } { [%eval 3.3] } 
18... Rg8 { [%clk 0:02:13] } { [%eval 3.06] } 
19. Qxa7 { [%clk 0:02:38] } { [%eval 2.49] }
19... Qxe5 { [%clk 0:01:52] } { [%eval 2.73] } 
20. Qxa6 { [%clk 0:02:26] } { [%eval 2.17] } 
20... Qxc3 { [%clk 0:01:51] } { 2.17 → 2.99 Inaccuracy. Nb3 was best. } { [%eval 2.99] } 
(20... Nb3) 21. c5 { [%clk 0:02:11] } { [%eval 2.91] }
21... Qc1+ { [%clk 0:01:44] } { 2.91 → 4.79 Mistake. Qc1+ was best. } { [%eval 4.79] } 
(21... Qc1+) 22. Kf2 { [%clk 0:02:06] } { [%eval 4.37] } 
22... Qxh1 { [%clk 0:01:42] } { 4.37 → 5.68 Inaccuracy. Qb2+ was best. } { [%eval 5.68] } 
(22... Qb2+) 23. cxb6 { [%clk 0:01:50] } { 5.68 → 2.26 Blunder. Ng5 was best. } { [%eval 2.26] } 
(23. Ng5) 23... cxb6 { [%clk 0:01:40] } { [%eval 4.75] } 
24. Ng5 { [%clk 0:01:18] } { 4.75 → 3.29 Inaccuracy. Ng5 was best. } { [%eval 3.29] }
(24. Ng5 g6 25. Qc8 Qxh2 26. Nf7+ Kg7 27. Qxd7 Qc7 28. Qxe6 Qf4 29. Ne5 b5 30. Bg5 Qd4+) 
24... g6 { [%clk 0:01:20] } { 3.29 → 7.41 Blunder. g6 was best. } { [%eval 7.41] } 
(24... g6 25. Qc8) 25. Qxb6 { [%clk 0:01:06] } { 7.41 → 0.72 Blunder. Qc4 was best. } { [%eval 0.72] } 
(25. Qc4) 
25... Qxh2 { [%clk 0:00:36] } { 0.72 → 4.49 Blunder. Qc1 was best. } { [%eval 4.49] } 
(25... Qc1) 26. Qd4+ { [%clk 0:01:00] } { [%eval 5.02] } 
26... e5 { [%clk 0:00:35] } { 5.02 → 11.23 Mistake. Rg7 was best. } { [%eval 11.23] }
(26... Rg7) 
27. Qxa1 { [%clk 0:00:49] } { 11.23 → 3.72 Blunder. Nf7+ was best. } { [%eval 3.72] } 
(27. Nf7+ Kg7 28. Nxe5 Nb3 29. Qxd7 Kh8 30. Nf7+ Kg7 31. Nd6 Kh6 32. Nxe8 Nd4 33. Bf6 Nxf3) 
27... h6 { [%clk 0:00:34] } { 3.72 → 6.93 Mistake. Rg7 was best. } { [%eval 6.93] }
(27... Rg7 28. Bd8) 28. Nf7+ { [%clk 0:00:44] } { [%eval 6.86] } 
28... Kg7 { [%clk 0:00:33] } { [%eval 9.53] } 29. Nxe5 { [%clk 0:00:31] } { [%eval 8.98] } 
29... Kh7 { [%clk 0:00:29] } { [%eval 9.81] } 30. Ng4 { [%clk 0:00:15] } { [%eval 6.73] }
30... Qf4 { [%clk 0:00:21] } { [%eval 7.23] } 31. Qe5 { [%clk 0:00:04] } { [%eval 7.1] } 
31... Qd2+ { [%clk 0:00:19] } { [%eval 7.54] } 32. Qe2 { [%clk 0:00:02] } { [%eval 6.15] } 
32... Qxe2+ { [%clk 0:00:16] } { [%eval 6.48] } 33. Kxe2 { [%clk 0:00:02] } { [%eval 6.11] } 
33... Nc7 { [%clk 0:00:15] } { 6.11 → 9.1 Inaccuracy. h5 was best. } { [%eval 9.1] }
(33... h5 34. Ne5 Kg7 35. Nxg6 Nf6 36. Bd6 Nd5 37. Nf4 Nxf4+ 38. Bxf4 Kf6 39. g3 Ra8 40. Bc1) 
34. Ne5 { [%clk 0:00:01] } { 9.1 → 5.84 Inaccuracy. Nf6+ was best. } { [%eval 5.84] }
(34. Nf6+ Kg7 35. Nxg8 Kxg8 36. a4 Kf7 37. Bd6 Ne6 38. a5 Nd4+ 39. Kf2 Nc6 40. a6 Ke6) 
34... Nd5 { [%clk 0:00:13] } { [%eval 5.76] } 
35. Bf6 { [%clk 0:00:01] } { 5.76 → -2.56 Blunder. Nxg6 was best. } { [%eval -2.56] } 
(35. Nxg6 Rxg6 36. Bxg6+ Kxg6 37. Bc5 h5 38. Kd2 Nf4 39. g3 Ne6 40. Bf2 Kf6 41. a4 Ke7)
35... Nf4+ { [%clk 0:00:12] } { -2.56 → 2.72 Blunder. Nxf6 was best. } { [%eval 2.72] } 
(35... Nxf6 36. Nxg6 Ra8 37. Ne7+ Kh8 38. Nf5 h5 39. g4 Rxa3 40. gxh5 Nxh5 41. Ke3 Kg8 42. Nd6)
36. Ke3 { [%clk 0:00:00] } { 2.72 → -1.27 Blunder. Kd2 was best. } { [%eval -1.27] } 
(36. Kd2 d6 37. Nc4 Nxg2 38. Be4 h5 39. Nxd6 h4 40. Be5 Rf8 41. Bh2 h3 42. a4 Rb8)
36... Nxd3 { [%clk 0:00:11] } { black wins on time. } { -1.27 → 3.35 Blunder. Nd5+ was best. } { [%eval 3.35] } 
(36... Nd5+ 
37. Kd4 Nxf6 
38. a4 Ra8 
39. Bc2 Kg7
40. Nxg6 h5
41. Nf4 Ra5 
42. Kc4 Kh6 
43. g3)

J'ai un peu aligné !

Dernière modification par xubu1957 (Le 20/09/2022, à 05:51)


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#9 Le 20/09/2022, à 08:30

Makogonov

Re : Supprimer du contenu à l'intérieur d'accolades

Merci pour vos réponses les amis cool

Hors ligne

#10 Le 20/09/2022, à 09:10

Tawal

Re : Supprimer du contenu à l'intérieur d'accolades

Hello,

Pour enlever les accolades et leur contenu ainsi que les parenthèses et leur contenu :
Soit le fichier chess.pgn donné en 1 ligne au #1 :

sed -e 's/{[^}]*}\|([^)]*)//g' chess.pgn

Résultat :

1. d4  1... Nf6   2. c4   2... e6   3. Nc3   3... Bb4   4. a3   4... Bxc3+   5. bxc3   5... b6   6. f3   6... Ba6   7. e4   7... Nc6   8. Bd3     8... Na5   9. Qe2   9... O-O     10. e5   10... Ne8   11. Nh3   11... Qh4+   12. Kf1     12... f6   13. Bf4   13... fxe5   14. Bg5     14... Qh5   15. dxe5   15... Kh8     16. Qe4     16... Nb3     17. Qxa8   17... Nxa1   18. Be7   18... Rg8   19. Qxa7   19... Qxe5   20. Qxa6   20... Qxc3     21. c5   21... Qc1+     22. Kf2   22... Qxh1     23. cxb6     23... cxb6   24. Ng5     24... g6     25. Qxb6     25... Qxh2     26. Qd4+   26... e5     27. Qxa1     27... h6     28. Nf7+   28... Kg7   29. Nxe5   29... Kh7   30. Ng4   30... Qf4   31. Qe5   31... Qd2+   32. Qe2   32... Qxe2+   33. Kxe2   33... Nc7     34. Ne5     34... Nd5   35. Bf6     35... Nf4+     36. Ke3     36... Nxd3

Pour l'explication, c'est la même que Watael, je n'ai fait qu'appliquer une deuxième fois le motif mais pour des parenthèses.


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#11 Le 20/09/2022, à 16:00

Vobul

Re : Supprimer du contenu à l'intérieur d'accolades

@watael: ah oui j'avais mal lu l'énoncé wink


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne