Contenu | Rechercher | Menus

Annonce

Bientôt Ubuntu 16.04 LTS
Réservez vos DVD et clé USB Ubuntu-fr dès maintenant

En cas de déconnexions intempestives, merci de vous connecter à partir de cette page en cochant la case « Me connecter automatiquement lors de mes prochaines visites ».

#1 Le 14/11/2012, à 07:56

mikaveli
Membre

Sed et Awk, extraction d'une suite de numéros

Bonjour,

Je suis en la possession d'un server asterisk, et je souhaite effectuer un lot propre contenant uniquement les numéros des appelants dans un fichier A, et les appelés dans un fichier B

Voici un exemple de ligne que asterisk me donne :

Executing [XXXXXXXXXXX@from-internal:3] AGI("SIP/8000-00000250", "agi://localhost/outboundroute.agi?callernum=YYYYYY&calleenum=XXXXXXXXXXX")

les numeros XXXXX et YYYY peuvent etre composés de 8 à 12 chiffres.

Pouvez vous m'aider ?

Hors ligne

#2 Le 14/11/2012, à 08:14

pingouinux
Membre

Re : Sed et Awk, extraction d'une suite de numéros

Bonjour,

sed -r 's/^.*callernum=([0-9]{8,12}).*$/\1/' asterisk.out >A
sed -r 's/^.*calleenum=([0-9]{8,12}).*$/\1/' asterisk.out >B

Hors ligne

#3 Le 14/11/2012, à 09:22

iuchiban
Membre

Re : Sed et Awk, extraction d'une suite de numéros

@pingouinux : ne faut-il pas backslasher les ( ) de "sauvegarde" du pattern ?


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#4 Le 14/11/2012, à 09:29

pingouinux
Membre

Re : Sed et Awk, extraction d'une suite de numéros

iuchiban #3 a écrit :

ne faut-il pas backslasher les ( ) de "sauvegarde" du pattern ?

Non, pas avec l'option -r de sed.

Hors ligne

#5 Le 14/11/2012, à 15:28

nesthib
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 14/11/2012, à 18:25

Totor
Membre

Re : Sed et Awk, extraction d'une suite de numéros

nesthib a écrit :

une variante :

awk -F '[[@="&]' '{print $2"\n"$7}'

plus précisément :

awk -F '[[@="&]' '{print $2 >> fichierX ;  print $7 >> fichierY}' asterisk.out

-- Lucid Lynx --

Hors ligne

#7 Le 15/11/2012, à 01:38

nesthib
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne