Shell script: text finden

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von below, 09.11.2006.

  1. below

    below Thread Starter MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Hallo,

    ich möchte mit einem Shell script die IP Address von einem rechner rausbekommen. Dazu wollte ich eigentlich den Output von ping -c 1 parsen, aber das klappt nicht ganz:

    Code:
    #!/bin/sh
    
    if [ $# -ne 1 ]; then
     echo 1>&2 Usage: $0 machinename
     exit 127
    fi
    
    ping -c 1 $1 | perl -i -pe "s/PING $1 \(([^)]*)\):.*$/\1/"
    Das gibt zwar die IP, aber auch den Rest vom Ping

    Hat jemand einen Vorschlag?

    Danke

    Alex
     
  2. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    MacUser seit:
    21.01.2005
    Klar, du löscht ja einfach nur in der Zeile in der "PING" steht alles ausser der IP-Adresse selbst. Den Rest der Ausgabe veränderst du ja gar nicht. Was dir jetzt noch fehlt ist, dass du dir vor dem Ersetzen erstmal die richtige Zeile suchst, z.B. mit
    Code:
    grep PING
     
  3. below

    below Thread Starter MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Ahhhh, klar

    Danke
     
  4. Sophokles

    Sophokles MacUser Mitglied

    Beiträge:
    60
    Zustimmungen:
    0
    MacUser seit:
    22.08.2006
    Yo, chicos!

    Warum nimmst Du dafür denn ping und nicht dig oder nslookup oder so was?

    Sophokles
     
  5. below

    below Thread Starter MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    Weil der ping so in dem Ablauf von Apple stand :p

    Aber aus dig oder nslookup müsste ich die IP ja auch rausholen

    Alex
     
  6. Sophokles

    Sophokles MacUser Mitglied

    Beiträge:
    60
    Zustimmungen:
    0
    MacUser seit:
    22.08.2006
    Yo, chicos!
    Das schon, aber wenn man nur eine reverse DNS Auflösung will, wäre mir nicht unbedingt ping als erstes brauchbares Werkzeug eingefallen :)

    Sophokles
     
  7. macHomer

    macHomer MacUser Mitglied

    Beiträge:
    152
    Zustimmungen:
    0
    MacUser seit:
    23.02.2005
    Ganz genau, deshalb:

    #!/bin/csh
    nslookup -type=A $1 | xargs | awk '{print $10}'
     
  8. below

    below Thread Starter MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    @Sophokles: Du meinst DNS, nicht reverse DNS ;)

    @MacHomer: Das funktioniert bei mir nicht. Mit `test.sh localhost` kommtnur ein CR, mit `test.sh rendezvousname.local` kommt: xargs: unterminated quote

    Alex
     
  9. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.810
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    host localhost | awk '{print $4}'

    ist doch einfacher ;)
     
  10. below

    below Thread Starter MacUser Mitglied

    Beiträge:
    13.882
    Zustimmungen:
    1.086
    MacUser seit:
    15.03.2004
    %host macpro.local
    Host macpro.local not found: 3(NXDOMAIN)

    Alex
     
Die Seite wird geladen...

Diese Seite empfehlen