sed awk und regex

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
kernelpanic
Beiträge: 102
Registriert: 01.09.2005 10:41:25

sed awk und regex

Beitrag von kernelpanic » 04.04.2006 11:56:48

hi,,mit oben genannten hab ich mich bislang noch nicht befasst.

kann mir jemand sagen wie ich die ip adresse aus dem folgenden text extrahiere?

Code: Alles auswählen

 <html><body>Current IP Address: 84.xx.xx.xx.xx</body></html>

kernelpanic
Beiträge: 102
Registriert: 01.09.2005 10:41:25

grep awk sed

Beitrag von kernelpanic » 04.04.2006 11:59:32

Hi,,
Problem wurde schon gelöst

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Re: grep awk sed

Beitrag von meandtheshell » 04.04.2006 13:02:51

kernelpanic hat geschrieben: Problem wurde schon gelöst
Für nachfolgendes Publikum die das evtl. nicht wissen sollte man _immer_ die Lösung posten.

TIA markus

kernelpanic
Beiträge: 102
Registriert: 01.09.2005 10:41:25

Lösung

Beitrag von kernelpanic » 09.04.2006 12:42:41

#!/bin/bash
DATUM=`date '+%d.%m.%y__%k:%M'`
touch IP_$DATUM
wget -q checkip.dyndns.org -O ip_header
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' ip_header > IP_$DATUM
rm ip_header

Es geht noch kürzer wenn man nur die ip auschneiden will ohne sie in eine datei zu schreiben die den namen N trägt.

fuzzy
Beiträge: 1021
Registriert: 04.10.2003 12:15:52

Beitrag von fuzzy » 09.04.2006 16:42:50

Hallo Kernelpanic,

Code: Alles auswählen

#!/bin/bash

# DATUM=`/bin/date '+%Y-%m-%d_%H:%M'`
  DATUM=`/bin/date '+%d.%m.%y__%k:%M'`
  DATEI="/tmp/IP_$DATUM"
  /usr/bin/touch                                                     $DATEI
  /usr/bin/wget -qO- checkip.dyndns.org | /bin/sed 's/[^0-9\.]//g' > $DATEI
Für ein Backup etc. mag ich das andere Dateiformat lieber und Du kannst der Datei einen festen Ordner zuweisen (hier /tmp ).

...für Deinem Thema, könnte dieses etwas sein:
http://www.linuxfibel.de/kapitel7.htm

Gruß fuzzy

Antworten