[résolu] Script pour network-manager

bonjour,

j’essaie d’écrire un script mais je n’y parviens pas.
quand je clique sur l’icône du “network-manager” j’obtiens la liste des connectés dans le réseau wifi.
pour info : ‘Livebox-f0b1’ c’est ma box

si dans le terminal j’entre : nmcli dev wifi

j’obtiens :

SSID                              BSSID               MODE             FRÉQ       DÉBIT      SIGNAL   SÉCURITÉ   ACTIF   
'Livebox-f0b1'                    5C:33:8E:E3:39:24   Infrastructure   2437 MHz   54 Mo/s    29       WPA WPA2   non     
'HP-Print-BB-ENVY 5530 series'    A4:5D:36:20:A1:BB   Infrastructure   2437 MHz   54 Mo/s    20       WPA2       non
'freebox_RCZSOO'                  8A:8B:C5:D4:A6:78   Infrastructure   2462 MHz   54 Mo/s    22       WPA        non 

avec grep, sed je n’arrive pas à obtenir ce que je voudrais.
à savoir, écrire dans un fichier texte toutes les connexions n’étant pas ma box

merci à vous si vous pouvez m’aider

le script :

#!/bin/bash

# ici je rentre mon chemin de sauvegarde
cd /home/monchemin

# je fais une boucle pour enregistrer le nombre et la fréquence des résultats que je veux

while true
do
DATE=`date +"%d%m%y %H:%M:%S"` # je garde la date
SSID=`nmcli dev wifi`          # qui est dans le réseau wifi ?

# c'est ici que je ne sais pas faire
# si SSID ne contient pas la chaîne 'Livebox-f0b1' (qui est ma box)
# alors écrire dans un fichier texte : la date
echo "$DATE" >> ssid.txt

# et écrire la(les) ligne(s) correspondante(s) différente(nt) de 'Livebox-f0b1'
# ligne(s) contenant les infos comme plus haut
# echo ....xxxxx >> ssid.txt
# s'il n'y a personne d'autre que 'Livebox-f0b1' ou rien, alors on écrit rien dans le fichier

sleep 2
done

Salut

Tu changes de crèmerie?
https://forum.ubuntu-fr.org/viewtopic.php?pid=21615154#p21615154

Mais tu fais une erreur d’interpretation
quand je clique sur l’icône du “network-manager” j’obtiens la liste des connectés dans le réseau wifi.

Le wifi c’est des ondes radios, dans une gamme de fréquences qui est la même pour tout le monde definie par la norme 802.11

http://www.nolot.eu/Download/Cours/reseaux/m1info/ProtoAv-Cours7-Wifi.pdf

ce que tu vois ce sont les émetteurs à proximité de chez toi. Les box des voisins pour parler simplement. ce qu’indique aussi la commande nmcli dev wifi
La commande donne un résultat sous forme de tableau que tu peux rediriger dans un fichier texte

nmcli dev wifi > resul.nmcli.txt

Si tu veux faire des grep tu peux utiliser la commande ( ici mon wlan s’appelle wlan0)

sudo iwlist wlan0 scan | grep -E "ESSID"

ça ne veut pas dire qu’il y a connexion…
Pour se connecter il faut connaître la clé d’authentification

"Tu changes de crèmerie?"
oui - je ne voulais pas déranger et essayais d’avoir d’autres pistes, idées
merci pour tes liens, mais çà dépasse mes compétences
je comprends dans le global tout de même

mon mini-bout de script à l’heure actuelle écrit toutes les lignes
je voulais juste faire un distingo pour enregistre uniquement ce qui m’intéresse

grep-sed … incompréhensible pour moi - et j’ai essayé
mes veilles connaissances remontent au basic (j’ai 57 ans), et c’était possible facilement d’extraire du texte pour faire un test
je suis déjà passé de $win à linux et c’était un boum

mais c’est peut-être trop compliqué ce que je demande

Bonjour irma_debian-fr

Je me suis permis d’apporter quelques modifications dans ton message concernant l’apparence du texte affiché.

ce qu’il faut bien comprendre c’est que les ondes (fréquences) radio sont là, autour de toi.
Ce n’est pas parce que ton récepteur ( ton pc ) détecte ce qui est dans l’environnement ( les émetteurs) que tu es connecté dessus.
C’est comme pour la radio grandes ondes ou FM, les ondes sont là autour de toi mais ton poste de radio ne joue que celle où tu es connectée, celle que tu as réglée sur l’afficheur de la radio.
Inversement, ce n’est pas parce que tes voisins détectent ta box qu’ils sont connectés dessus. Pour qu’ils se connectent il faut qu’ils aient connaissance de la clé d’authentification, d’où l’interêt que cette clé soit longue et compliquée et de ne pas la divulguer.

j’ai bien compris tout ce que tu dis là et ma clé est longue et compliquée sur ma box
j’ai bien compris que ceux que je vois n’ont pas accès à mon réseau
tes explication sont bonnes

je cherche juste à savoir comment je peux enregistrer uniquement la ligne qui m’intéresse
c’est juste la façon d’écrire les commandes que je ne sais pas
çà pourrait très bien s’appliquer à autre chose une autre fois

çà me permet d’apprendre aussi

Quelques pistes:
>> indique une redirection du résultat ajouté dans un fichier

Avant de faire un script tu peux tester les lignes dans le terminal

DATE=`date +"%d%m%y %H:%M:%S"`
echo $DATE

affiche le contenu de la variable DATE

DATE=`date +"%d%m%y %H:%M:%S"`
echo $DATE >> resul.nmcli.txt

ajoute le contenu de la variable DATE au fichier

DATE=`date +"%d%m%y %H:%M:%S"`
echo $DATE >> resul.nmcli.txt
nmcli dev wifi >> resul.nmcli.txt

ajoute successivement le contenu de la variable DATE et le résultat de la commande nmcli dans le fichier resul.nmcli.txt

Dans nmcli * représente la connexion en cours, si tu veux l’exclure

nmcli dev wifi | grep -v '*'

un bon tuto sur grep
http://www.tuteurs.ens.fr/unix/exercices/solutions/grep-sol.html

çà me convient très bien
merci pour l’aide et les liens
je passe en résolu