AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Gute Tutorials / Beispiele zu sed und awk gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Gute Tutorials / Beispiele zu sed und awk gesucht

Ein Thema von Phoenix · begonnen am 31. Dez 2010 · letzter Beitrag vom 6. Jan 2011
 
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.643 Beiträge
 
#11

AW: Gute Tutorials / Beispiele zu sed und awk gesucht

  Alt 3. Jan 2011, 06:44
Also bei mir geht das so leider nicht.

Ich habe genau Dein Script und dabei nur den Input durch die echten calls ersetzt:

Code:
#!/usr/bin/env bash
# TODO: Austauschen gegen networksetup -listnetworkserviceorder
# LISTSERVICES="cat networksetup-listnetworkserviceorder.txt"
LISTSERVICES=`networksetup -listnetworkserviceorder`
# TODO: Austauschen gegen airport -I
AIRPORTI=`airport -I`
#AIRPORTI="cat airport-I.txt"
#AIRPORTI="cat airport-I-off.txt"

# Ermitteln ob WLAN aktiv
WLANACTIVE=1
($AIRPORTI|grep -q 'AirPort: Off') && WLANACTIVE=0

# Entsprechend 'schöne' Ausgaben erzeugen
if (( WLANACTIVE )); then
  echo "WLAN ist aktiv"
  $AIRPORTI|while read line; do
    case "$line" in
    agrCtlRSSI:*)
      # Ausgabe kannste hier anpassen
      echo "Empfangsqualität: ${line##*: } dB"
      ;;
    lastTxRate:*)
      # ... und hier
      echo "Aktuelle Geschwindigkeit: ${line##*: }"
      ;;
    *)
      ;;
    esac
  done
else
  echo "WLAN ist nicht aktiv"
fi

# Geräte ermitteln
#             ... unnötige Teile herausschneiden.
$LISTSERVICES|sed '/Device:/!d; s/^.*:\s\s*\(.*\),\s\s*Device:\s\s*\(.*\).$/\1:\2/i;'|while read device; do
  # Wichtige Teile extrahieren (Format pro Zeile ist <name>:<interface>)
  NAME=${device%%:*}
  IFACE=${device##*:}
  case "$IFACE" in
  en*)
    echo "$IFACE"
    # TODO: hier muß erweitert werden
    ;;
  *)
    ;;
  esac
done
Die Ausgabe ist dann folgende:

Code:
smartair:Scripte Sebastian$ ./networkinfo.sh
./networkinfo.sh: line 12: agrCtlRSSI:: command not found
WLAN ist aktiv
./networkinfo.sh: line 17: agrCtlRSSI:: command not found
./networkinfo.sh: line 37: An: command not found
sed: 1: "/Device:/!d; s/^.*:\s\s ...": bad flag in substitute command: 'i'
smartair:Scripte Sebastian$
Er scheint irgendwie mit dem case-Statement und den Ausdrücken dort Probleme zu haben. Sollte mir wohl doch das Bash-Buch mal zulegen
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz