[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linux-31] SED - stopper la recherche



Bonsoir JP et le monde libre,
>
> $ xmodmap -pk | sed -n '/(XF86Mail)/{s/^.*\t\(0x[0-9a-f]\+\) .*$/\1/p;q}'
> 0x1008ff19

Elle est bien laide et compliquée cette ligne...
Merci pour ton expertise en SED !

pierre estrem


Le 01/05/2018 à 08:43, jpcas (via linux-31 Mailing List) a écrit :
Salut,

Le 30/04/2018 à 23:11, Pierre ESTREM (via linux-31 Mailing List) a écrit :
Et dans ces cas je ne sais point poser "un arrêt" dès que la première
occurrence a été trouvée.

Comment fais-je de manière concise avec SED ?
La commande "q" (pour quit) quitte le script dès la 1ère occurrence
trouvée, en imprimant la ligne contenue dans la mémoire principale de
sed sans évaluer aucune autre ligne.

Il faut un peu changer la syntaxe pour qu'elle marche bien dans ton cas.

$ xmodmap -pk | sed -n '/(XF86Mail)/{s/^.*\t\(0x[0-9a-f]\+\) .*$/\1/p;q}'
0x1008ff19

Note au passage que j'ai zappé le fichier temporaire en passant
directement le résultat de "xmodmap" au travers d'un "pipe".

@+.

JP


--
AccessDV Linux 1.2.1
La distribution GNU/Linux adaptée aux déficients visuels et grands débutants
http://accessdvlinux.fr