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 17/12/2017, à 18:49

AGP-Architecture

grep et expression rationelle

Bonsoir à tous,

(En espérant ne pas m'être trompé de forum)

j'essaye de trouver une valeur entre deux caractères mais tout ce que je parvient à faire c'est de trouver également les deux caractères de balise.

Donc comment puis-je faire pour adapter ce qui a ci dessous :

[(47)-17:37] ****** @ VirtualBox-Xubunt16 : /media/sf_D_DRIVE/test et essais
> file -i Scénario\ Catastrophe.zip | grep -e '/.*;'
Scénario Catastrophe.cbr: application/zip; charset=binary

je voudrais avoir juste zip en retour

Et est-ce que vous avez également un tres bon tuto sur les expression régulière car je n'ai rien trouvé de vraiment compréhensible.

Merci

Hors ligne

#2 Le 17/12/2017, à 18:53

erresse

Re : grep et expression rationelle

Bonsoir,
"grep" renvoie la ligne entière correspondant à l'argument trouvé, pour en extraire une partie, il te faut ensuite récupérer ce que tu veux par un "sed" par exemple.


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#3 Le 17/12/2017, à 19:16

pingouinux

Re : grep et expression rationelle

Bonsoir,
Et pourquoi pas sed directement :

$ sed -r 's#.*/(.+);.*#\1#' <<<"Scénario Catastrophe.cbr: application/zip; charset=binary"
zip

Hors ligne

#4 Le 17/12/2017, à 19:18

Watael

Re : grep et expression rationelle

salut,

n'aurais-tu pas plus vite fait, ou plus proprement/économique, de récupérer les données avec quelques Remplacements de paramètres ?


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

Hors ligne

#5 Le 17/12/2017, à 19:29

pingouinux

Re : grep et expression rationelle

Ou alors, avec grep :

$ grep -Po '(?<=/).*(?=;)' <<<"Scénario Catastrophe.cbr: application/zip; charset=binary"
zip

Hors ligne

#6 Le 17/12/2017, à 19:56

AGP-Architecture

Re : grep et expression rationelle

Watael a écrit :

salut,
n'aurais-tu pas plus vite fait, ou plus proprement/économique, de récupérer les données avec quelques Remplacements de paramètres ?

Si mais j'ai pas trouvé dans le man de file... si une autre proposition je suis preneur.

merci pour les réponses

Et pour un bon tuto?

Hors ligne

#7 Le 17/12/2017, à 23:03

DonutMan75

Re : grep et expression rationelle

Hello AGP-Architecture,
de mon côté j'avais lu le bouquin sur les regexp dans la collection O'Reilly, je l'avais trouvé pas mal : http://shop.oreilly.com/product/9780596528126.do
Après je sais pas trop pour ce qui est des tuto sur le net, peut-être sur OpenClassRoom ?

Bonne soirée à tous,

Donut

Hors ligne

#8 Le 17/12/2017, à 23:23

Watael

Re : grep et expression rationelle

la sortie complète de file -i Scénario\ Catastrophe.zip est-elle différente du pipe via grep ?


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

Hors ligne

#9 Le 19/12/2017, à 15:19

LeoMajor

Re : grep et expression rationelle

bonjour,

...:~$ awk 'BEGIN {FPAT="[^/;]+" }; {print $2}' < <(file -bi /tmp/example.ggb)
zip

Hors ligne