Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
nihilist
- Beiträge: 430
- Registriert: 27.04.2006 21:17:06
-
Kontaktdaten:
Beitrag
von nihilist » 08.02.2008 19:58:56
Servus,
Ich bräuchte mal eine kleine Hilfestellung bei "sed"
Ich möchte den Namen des Wlan Netzes mit dem ich verbunden bin anzeigen lassen.
Das funktioniert auch soweit, nur werden die ersten zwei Zeilen (lo,eth1) noch angezeigt.
Desweiteren muss der Aufruf als "root" erfolgen...
Code: Alles auswählen
# iwconfig | grep eth2 | sed -e 's/eth2//' -e 's/IEEE*//' -e 's/802.11g//' -e 's/ESSID://'
lo no wireless extensions.
eth1 no wireless extensions.
"Olmo"
Ist es auch irgendwie möglich den Aufruf zu vereinfachen, d.h. z.B. Lösche alle Zeichen bis zum ersten " , das hätte ja den gleichen Effekt und wäre universeller einsetzbar
-
fuzzy
- Beiträge: 1021
- Registriert: 04.10.2003 12:15:52
Beitrag
von fuzzy » 08.02.2008 22:54:24
Hallo nihilist,
geht /sbin/iwconfig als user?
mir würde noch folgendes einfallen:
Hilft Dir das als Anregung?
Gruß fuzzy
edit: wie sieht der komplette iwconfig Aufruf aus (Ausgabe gerne auch anonymisiert)?
-
nihilist
- Beiträge: 430
- Registriert: 27.04.2006 21:17:06
-
Kontaktdaten:
Beitrag
von nihilist » 09.02.2008 07:11:07
fuzzy hat geschrieben:Hallo nihilist,
geht /sbin/iwconfig als user?
Ja das geht...
edit: wie sieht der komplette iwconfig Aufruf aus (Ausgabe gerne auch anonymisiert)?
Code: Alles auswählen
/michael@debian:~$ /sbin/iwconfig
lo no wireless extensions.
eth1 no wireless extensions.
eth2 IEEE 802.11g ESSID:"Daheim"
Mode:Managed Frequency:2.462 GHz Access Point: 00:09:5B:EE:7F:B8
Bit Rate:54 Mb/s Tx-Power=20 dBm Sensitivity=8/0
Retry limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=96/100 Signal level=-30 dBm Noise level=-85 dBm
Rx invalid nwid:0 Rx invalid crypt:2 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:136 Missed beacon:1
michael@debian:~$
-
fuzzy
- Beiträge: 1021
- Registriert: 04.10.2003 12:15:52
Beitrag
von fuzzy » 09.02.2008 07:19:01
oh, dann sollten Dir meine beiden Anregungen helfen.
...sofern Du auf "Daheim" hinaus willst.
Gruß fuzzy
PS: ich habe kein wlan und kann es daher nur am Beispiel der Textausgabe testen.
-
nihilist
- Beiträge: 430
- Registriert: 27.04.2006 21:17:06
-
Kontaktdaten:
Beitrag
von nihilist » 09.02.2008 08:36:23
Hallo,
Also mit
Code: Alles auswählen
~$ /sbin/iwconfig | sed -e '/"/!d' -e 's/[^"]*//'
lo no wireless extensions.
eth1 no wireless extensions.
"daheim"
Stehen lo und eth1 immer noch drin, aber habe gerade gesehen das man ja auch einfach iwconfig mit der zusätzlichen Angabe des
Wlan Interfaces starten kann
Code: Alles auswählen
michael@debian:~$ /sbin/iwconfig eth2 | sed -e '/"/!d' -e 's/[^"]*//'
"dukath-ubx"
Und dann funktioniert das so wie gewollt...
In diesem Sinne, danke dir für die Unterstützung.
Ich werde dann mal schauen das ich die Angabe der Verbindungsstärke auch noch übernehmen kann.
-
fuzzy
- Beiträge: 1021
- Registriert: 04.10.2003 12:15:52
Beitrag
von fuzzy » 09.02.2008 09:11:18
...mich wundert, dass bei Deiner "gefilterten" iwconfig-Ausgabe "lo" und "eth1" mit Ausgegeben werden, das blicke ich nicht
Code: Alles auswählen
salto@deb:~$ cat test.txt
lo no wireless extensions.
eth1 no wireless extensions.
eth2 IEEE 802.11g ESSID:"Daheim"
Mode:Managed Frequency:2.462 GHz
salto@deb:~$ sed '/"/!d;s/[^"]*//' test.txt
"Daheim"
Wie gesagt das ist etwas "Labormäßig", da ich nur den entsprechenden Text aufrufe/filtere.
Gruß fuzzy
-
nihilist
- Beiträge: 430
- Registriert: 27.04.2006 21:17:06
-
Kontaktdaten:
Beitrag
von nihilist » 09.02.2008 09:21:39
Ja, ich hatte es auch zuerst mit einer Textdatei mit gleichem Inhalt versucht, da wird bei mir auch nur "Daheim" ausgegeben.
Beim Aufruf von "iwconfig" scheint das irgendwie nicht zu funktionieren.
Was ich komisch finde, iwconfig soll ja eigentlich Informationen zu Wlan Schnittstellen anzeigen, und lo und eth1 sind ja keine...
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 09.02.2008 11:13:02
nihilist hat geschrieben:Ja, ich hatte es auch zuerst mit einer Textdatei mit gleichem Inhalt versucht, da wird bei mir auch nur "Daheim" ausgegeben.
Beim Aufruf von "iwconfig" scheint das irgendwie nicht zu funktionieren.
Was ich komisch finde, iwconfig soll ja eigentlich Informationen zu Wlan Schnittstellen anzeigen, und lo und eth1 sind ja keine...
Das verstehe ich auch nicht.
Hatte dieses Problem auch schon mal, als ich mit awk nur einen bestimmten Teil selektieren wollte und trotzdem immer noch die anderen Interface-Namen ausgegeben wurden.
Oh, yeah!
-
Meillo
- Moderator
- Beiträge: 9254
- Registriert: 21.06.2005 14:55:06
- Wohnort: Balmora
-
Kontaktdaten:
Beitrag
von Meillo » 09.02.2008 11:56:15
Ich kann die Situation wie sie fuzzy beschreibt (Laborbedingung) bestätigen.
`i
wconfig' habe ich hier nicht drauf, aber `i
fconfig' macht diesbezüglich keine Probleme.
evtl. könntest du mal stderr umleiten (2>/dev/null) und schauen was dann passiert.
ansonsten könnte evtl. noch was in folgender Art helfen:
(nicht sehr sinnvolles Beispiel)
Use ed once in a while!
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 09.02.2008 12:51:21
Ja, so funktioniert es. Aber wieso?
Mit 2>/dev/null leite ich doch alles vom err-Kanal nach /dev/null (unterdrücke quasie die Fehlerausgabe). Aber wieso wird alles "andere" als Fehler dargestellt?
Code: Alles auswählen
daniel@daniel-laptop:~$ iwconfig 2>/dev/null | sed -e '/"/!d' -e 's/^.*"\(.*\)"/\1/'
Duffman
daniel@daniel-laptop:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
eth3 no wireless extensions.
eth2 IEEE 802.11g ESSID:"Duffman"
Mode:Managed Frequency:2.462 GHz Access Point: 00:15:0C:66:AE:33
Bit Rate:48 Mb/s Tx-Power=20 dBm Sensitivity=8/0
Retry limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=91/100 Signal level=-38 dBm Noise level=-86 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
sit0 no wireless extensions.
Oh, yeah!
-
fuzzy
- Beiträge: 1021
- Registriert: 04.10.2003 12:15:52
Beitrag
von fuzzy » 09.02.2008 13:02:59
von mir ungetestet, und eventuell/bestimmt nicht sinnvoll, aber geht das bei Euren wlan-Geschichten?
Gruß fuzzy
-
Duff
- Beiträge: 6321
- Registriert: 22.03.2005 14:36:03
- Wohnort: /home/duff
Beitrag
von Duff » 09.02.2008 13:14:41
Ja, funktioniert!
Code: Alles auswählen
daniel@daniel-laptop:~$ /sbin/iwconfig 2>&1 | sed '/"/!d;s/[^"]*//'
"Duffman"
...jetzt leitest du noch mal expliziet den err-Kanal auf den standard-Kanal?
Oh, yeah!
-
Meillo
- Moderator
- Beiträge: 9254
- Registriert: 21.06.2005 14:55:06
- Wohnort: Balmora
-
Kontaktdaten:
Beitrag
von Meillo » 09.02.2008 14:21:23
Duff hat geschrieben:...jetzt leitest du noch mal expliziet den err-Kanal auf den standard-Kanal?
und deshalb wird er auch gefiltert.
Bislang wurde stderr einfach ausgegeben und nur stdout gefiltert. Entweder du ignorierst stderr komplett oder du filterst ihn auch.
Use ed once in a while!