Son IP publique en une ligne de commande

Demandez et postez vos petites astuces, répertoire des tutoriels et astuces
Avatar du membre
kiri
Messages : 41
Enregistré le : lun. 4 juin 2018 14:02
Localisation : insmod

Son IP publique en une ligne de commande

Messagepar kiri » ven. 15 juin 2018 00:15

...
Modifié en dernier par kiri le mar. 19 juin 2018 12:26, modifié 1 fois.

Avatar du membre
alain
Messages : 4674
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles

Re: Son IP publique en une ligne de commande

Messagepar alain » sam. 16 juin 2018 04:35

Salut Kiri Image

Merci pour ce petit cours sur l'utilisation de grep et sed.

Comme j'ai dit dans la prèz de Kotec,
Je me suis penché (non je ne suis pas tombé :l ) sur les options que tu utilises. Car j'aimerai progresser un peu.
Il s'avère que je n'ai pas compris :l :roll:
le man de grep reste nébuleux, pour mon cerveau qui certes est fatigué, mais quand même...
Exemple: pour l'opton "o" :
N'imprimez que les parties appariées (non vides) d'une ligne correspondante, chacune de ces parties étant sur une ligne de sortie distincte.

c'est c'la oui c'est c'la...
et pour "P" :
Interprétez le modèle comme une expression régulière compatible Perl (PCRE). Ceci est très expérimental et grep -P peut avertir de fonctionnalités non implémentées.

Pas mieux... :oops:

Je prends donc acte que ça fonctionne, même si je n'ai pas compris comment tu as as fait, dans l'exemple avec ipecho, pour déterminer la syntaxe nécessaire à "P" pour ne garder
que ce qui est compris entre "is" et "/h1" :
'(?<=is ).*(?=<\/h1>)'
Tu l'as trouvé comment ça?
Ni pourquoi le "<" du html devant "/h1" n’apparaît pas, vu qu'a première vu tu lui dis d’écrire ce qu'il y a devant "/h1"... Oui certainement que les "<" et ">" du html ont un comportement particulier, mais pourquoi???

Enfin bref, c'est pas bien grave, ni important, l'important c'est que ça fonctionne, et que je pourrais utiliser ces options pour me la péter sur le fofo :l :lol:
Ces temps ci, je n'ai pas le temps ni les capacités pour réfléchir et apprendre. Mais si tu veux au mois d’août j'aurai l’esprit un peu plus disponible vu que je serai
célibataire pour quelques semaines, J'ouvrirai peut être un sujet sur l'utilisation des commandes de filtrage. Car malgré une littérature importante sur le sujet
(merci @Arghlub pour les liens) j'y comprends pas grand chose...

Encore merci pour ce partage. Image
In a world without walls and fences, who needs windows and gates?
Image
Taille réelle : http://www.fflmpics.fr/images/2018/09/0 ... 8c173d.png

Avatar du membre
kiri
Messages : 41
Enregistré le : lun. 4 juin 2018 14:02
Localisation : insmod

Re: Son IP publique en une ligne de commande

Messagepar kiri » sam. 16 juin 2018 08:14

...
Modifié en dernier par kiri le mar. 19 juin 2018 12:27, modifié 1 fois.

Avatar du membre
alain
Messages : 4674
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles

Re: Son IP publique en une ligne de commande

Messagepar alain » sam. 16 juin 2018 09:14

Ok, j'ai compris :l
Je faisais une erreur, en fait la patern2 (<\/h1>) comprend bien les "<>" du html. donc normal que le premier "<" ne soit pas affiché.
J'avais très mal lu et interprété :oops:
Je ne savais pas que grep contrairement à sed n'avais pas besoin qu'on annule le /.
Encore un truc que j'apprends.
Merci pour ces explications. J'ai bien d'autres questions, mais ça attendra août, car la je ne suis pas "open" , "aware" peut être? :l :D
In a world without walls and fences, who needs windows and gates?
Image
Taille réelle : http://www.fflmpics.fr/images/2018/09/0 ... 8c173d.png

Avatar du membre
arghlub
modérateur
Messages : 3914
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence

Re: Son IP publique en une ligne de commande

Messagepar arghlub » sam. 16 juin 2018 11:50

Salut kiri et Alain ;)

Pour Alain, je reviens sur :

- option -o de Grep
L'option -o permet de n'imprimer que la chaîne recherchée et pas la ligne entière. Et chaque motif trouvé est envoyé vers la sortie sur une nouvelle ligne.
Cela ne représente guère d'intérêt, sauf si on le couple avec des expressions régulières.
Un exemple simple pour comprendre :

Code : Tout sélectionner

$ echo -e "aaa bbb\nccc ddd\naaaa bbbb"
aaa bbb
ccc ddd
aaaa bbbb

$ echo -e "aaa bbb\nccc ddd\naaaa bbbb" | grep "aa"       # sans l'option o
aaa bbb
aaaa bbbb

$ echo -e "aaa bbb\nccc ddd\naaaa bbbb" | grep -o "aa"    # avec l'option o
aa
aa
aa

- option -P de Grep
Les expressions régulières peuvent avoir plusieurs syntaxes :
  • expressions régulières basiques (BRE) : le grep par défaut ;
  • expressions régulières étendues (ERE) : à utiliser avec «grep -E» (ou «egrep» déprécié) ;
  • expressions régulières compatibles PERL (PCRE) qui ont une syntaxe dérivée du langage Perl : à utiliser avec «grep -P».
Donc, si une expression régulière PCRE est utilisée, il faut utiliser l'option -P.

;)
Portable • Lenovo G50-80 | CPU Intel I3-4005U | RAM 8Go | tripleBoot avec “/data” commune : LinuxMint 18.3 Sylvia | LinuxMint 19 Tara | Manjaro 17.1 | XFCE (pour les 3)
Tour (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go DDR4 3000MHz | Debian 9 XFCE 4.12.3 (+ de multiples machines virtuelles)
────────────────────────────────────
... pour une informatique libre ! -membre de l'April

mpedro
Messages : 1526
Enregistré le : dim. 8 nov. 2015 22:13
Contact :

Re: Son IP publique en une ligne de commande

Messagepar mpedro » sam. 16 juin 2018 15:25

Message edité
T aurais pu faire plus simple.
Avec curl wget ou dig. :D
Modifié en dernier par mpedro le dim. 17 juin 2018 11:33, modifié 2 fois.
Stretch 32bits cinnamon/Fedora25/Sarah
Compaq 8510p/MSI GE70/Raspberry Pi2

Avatar du membre
zebulon
Administrateur du site
Messages : 12601
Enregistré le : ven. 19 juin 2015 22:13
Localisation : Au pays du mistral

Re: Son IP publique en une ligne de commande

Messagepar zebulon » sam. 16 juin 2018 18:47

:l
Merci pour la soluc mpedro :lol:
Ou alors c'est une question, là il manquerait le point d'interrogation :D
LMDE3 cinnamon 64-bit + Lm 17.3 MATE.
Proc: intel I5 4440, Cm: Gigabyte GA-B85M-D3H, Alim: Corsair CX Bronze 430 W, Ram: Crucial Ballistix Sport, 2 x 2 Go.
SSD: 2.5 sandisk ultra+ 64 Go pour /+home, DD: Seagate Barracuda 500 Go pour mes données persos, DD maxtor 160 Go pour la sauvegarde ciblée via luckybackup.
Impr: HP Envy 4502.

Avatar du membre
alain
Messages : 4674
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles

Re: Son IP publique en une ligne de commande

Messagepar alain » dim. 17 juin 2018 03:07

Salut Arghlub.

Okayyy, j'ai compris. C'est quand même plus facile a comprendre avec des exemples concrets :D ...Merci ;)
Donc pour résumer et pour être bien certain que je ne me fourvoie pas en croyant avoir compris alors que non:
Toujours dans l'exemple de ipecho:
'(?<=is ).*(?=<\/h1>)' est une syntaxe dérivée du langage PERL.
Pour que grep la comprenne il faut lui mettre l'option -P.
Et pour qu'il n'affiche que la chaîne recherchée (entre is et </h1>) et non la totalité de la ligne qui est un truc du genre:
«<h1>Your IP is xxx.xxx.xxx.xxx</h1>» , il faut lui mettre l'option -o...
Du coup, je me demande si on ne pouvait pas utiliser grep -o -P dans le script de la température du GPU à la place de (n'importe) awk? Image
Le problème aurait été de savoir quoi mettre en "patern2" vu que dans ce cas le C (de Celsius) est la dernière lettre du résultat et qu'il faut quelle apparaisse...Image
In a world without walls and fences, who needs windows and gates?
Image
Taille réelle : http://www.fflmpics.fr/images/2018/09/0 ... 8c173d.png

Avatar du membre
arghlub
modérateur
Messages : 3914
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence

Re: Son IP publique en une ligne de commande

Messagepar arghlub » dim. 17 juin 2018 11:15

alain a écrit :Du coup, je me demande si on ne pouvait pas utiliser grep -o -P dans le script de la température du GPU à la place de (n'importe) awk? Image
Le problème aurait été de savoir quoi mettre en "patern2" vu que dans ce cas le C (de Celsius) est la dernière lettre du résultat et qu'il faut quelle apparaisse...Image

Oui effectivement on aurait pu utiliser «grep -o» mais ça aurait été plus de bidouilles alors que awk qui est plus puissant fait ça (presque) tout seul.
Pour le "C" qui aurait disparu si on avait utiliser «grep -o», il aurait suffit de le rajouter. ;)
Portable • Lenovo G50-80 | CPU Intel I3-4005U | RAM 8Go | tripleBoot avec “/data” commune : LinuxMint 18.3 Sylvia | LinuxMint 19 Tara | Manjaro 17.1 | XFCE (pour les 3)
Tour (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go DDR4 3000MHz | Debian 9 XFCE 4.12.3 (+ de multiples machines virtuelles)
────────────────────────────────────
... pour une informatique libre ! -membre de l'April

Avatar du membre
kiri
Messages : 41
Enregistré le : lun. 4 juin 2018 14:02
Localisation : insmod

Re: Son IP publique en une ligne de commande

Messagepar kiri » dim. 17 juin 2018 15:51

...


Retourner vers « Trucs et Astuces »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité