sed golf
|
03-06-2016, 17h40
Message : #1
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
sed golf
Bonjour à tous,
Pour essayer de réanimer un peu le forum (qui se meurt légèrement ces temps-ci, hélas), je propose un petit jeu: le but est d'utiliser la commande UNIX "sed" pour passer d'une entrée donnée à une sortie donnée. Je me lance donc, et le but sera de passer de l'entrée: Code : ; ces lignes sont à supprimer à Code : +toto A vos claviers
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
03-06-2016, 18h50
(Modification du message : 03-06-2016, 18h51 par ark.)
Message : #2
|
|
ark
Psyckomodo! Messages : 1,033 Sujets : 48 Points: 317 Inscription : Sep 2011 |
RE: sed golf
Well, here is my solution:
[spoiler] Code BASH :
[/spoiler] Merci pour ce jeu :p |
|
03-06-2016, 18h58
(Modification du message : 04-06-2016, 08h15 par Atlas.)
Message : #3
|
|
Atlas
Membre actif Messages : 69 Sujets : 7 Points: 3 Inscription : Aug 2012 |
RE: sed golf
Voici ma solution bien que pas terrible :
[spoiler] Code : sed -e '/^;/d' -e 's/toto/+toto/' -e '1,1d' -e 's/lolilol/+lolilol/' file merci pour l'exercice Edit : d'accord je vais chercher une autre solution alors ! Edit : Voilà ma solution finale : [spoiler] Code : sed '/^;/d;/^$/{N;s/\n/\n+/}' file |
|
03-06-2016, 19h01
Message : #4
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: sed golf
@Atlas: le principe est de coller un "+" devant la première ligne suivant une ligne vide (la solution fonctionne sur l'exemple donné, mais n'est absolument pas générique :])
Pour situer le contexte, je voulais éviter de me faire ch*er à gérer à la main les fichiers de collisions IDA lors de la création de signature, du coup j'ai dû bricoler un script sed, et l'idée m'est venue de faire un petit golf à partir de ça :þ
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
03-06-2016, 19h28
(Modification du message : 03-06-2016, 19h30 par notfound.)
Message : #5
|
|
notfound
#!/usr/bin/env bash Messages : 687 Sujets : 47 Points: 271 Inscription : Sep 2012 |
RE: sed golf
Bon, il me manque un \n ... Je poste et j'update quand j'ai trouvé !
[spoiler] Code : >>> sed '/^;.*/d;/^$/{N;s/.*\n/+/}' game |
|
16-06-2016, 07h50
Message : #6
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: sed golf
coucou,
un peu à la bourre mais j'y vais de ma solution : [spoiler] Code : sed '/^;/d;/^$/{n;s/.*/+&/}'
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)