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

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



Je précise que avec deux SED j'y parviens :

Hexa=`sed -n "s/^.*\t\(0x[0-9a-f]\+\) (${Touche}).*$/\1/p" ./Xmodmap.tmp | sed -n "1p"`

Mais comment n'en faire qu'une commande SED ?

pierre estrem



Le 30/04/2018 à 23:11, Pierre ESTREM (via linux-31 Mailing List) a écrit :
Bonsoir,

Je reviens vers vous plus tôt que prévu...

Je ne parviens pas à stopper la recherche de SED dès la première occurrence trouvée.

Je parviens à récupérer le code ($Hexa) d'une touche simple ($Touche).
Par exemple KP_9 , KP_comma etc

Mais pour certaines touches spéciales, le script renvoit 2 fois leurs codes hexa.
Par exemple sur
 mon clavier XF86Mail me renvoie "0x1008ff19 0x1008ff19".
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 ?

Dessous le script.

Merci**2
pierre estrem

#!/bin/bash

Touche=$1

xmodmap -pk > ./Xmodmap.tmp

Hexa=`sed -n "s/^.*\t\(0x[0-9a-f]\+\) (${Touche}).*$/\1/p" ./Xmodmap.tmp`

echo $Hexa


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