Cut im terminal richtig benutzen

Hallo zusammen,

ich möchte mit dem Befehl cut die Ip-adresse beschneiden… (in einem script…)
wenn ich mich irgendwo im wlan einwähle(arbeit,freund,hotspot… möchte ich, an folgendes Ergebnis kommen:
10.1.1. (nur die letzte Zahl soll fehlen,der Punkt vorher soll noch da sein)

bis daher hatte ich folgendes versucht: hostname -I |cut -d „.“ -f 1-3
aber da fehlt mir der letzte punkt vor dem 4 segment…

wenn ich in ein anderes wlan komme u mein script aufrufe soll es neu das netz scannen u nur die letzte zahl weglassen…

hab zwar gegoogelt aber nichts passsendes gefunden… - wäre super wenn mir einer helfen könnte…

vielen Dank schonmal

lg lars

Na dann mach halt einfach nochn Punkt ran:

> myip=`echo $(hostname -i) | cut -d"." -f1-3`"."

Gruß,

Kannitverstan

Hallo!

Was deine konkrete Frage angeht, würde ich der Einfachheit halber auch sagen, daß du, wie @Kannitverstan schrieb, einfach nen Punkt hinten dran packen solltest.

Aber es gibt ein konzeptionelles Problem. Vermutlich willst du die IP des Netzwerkes haben, also die IP eines Rechners 192.168.1.3 in den Netzwerkteil 192.168.1.0 und den Geräteteil 0.0.0.3 zerlegen. (Die Summe von beiden ergibt dann wieder die IP)

Solange du zu Hause oder bei Freunden bist, kannst du einfach die letzte Zahl abschneiden.
Wenn du aber in ner größeren Firma oder nem gößeren Hotspot bist, funktioniert das schnell nicht mehr. Denn das o.g. Netz kann nur 254 Geräte (Endnummer 1-254) verwalten. In einer Firma gehören gerne mal nur die ersten beiden Zahlen zum Netz, und die letzten beiden zum Gerät. Dann sind 65534 Geräte im Netz möglich.

An meiner Uni war es noch verrückter. Da hatte jeder Rechner eine öffentliche IP, und weil die rar und teuer sind, wollte man keine 65534 IPs haben. Stattdessen hieß das Netz z.B. 10.20.168.0, und die Recher bekamen die Endnummern 0.1 bis 7.254. So sind 2046 Geräte möglich, aber für den Menschen ist das kaum zu erkennen.

Lange Rede, kurzer Sinn: Wenn du wirklich die IP des Netzes haben willst, mußt du die IP mit der Subnetmaske bitweise verunden. Meine Uni hatte 255.255.248.0, das heißt, die ersten beiden Zahlen und die oberen 5 Bits der dritten Zahl gehörten zum Netz, der Rest zum Rechner.
Eine andere Schreibweise für die IP ist auch 10.20.169.42/21, das heißt, die ersten 21Bit gehören zum Netz.

besten Dank an Euch beiden…

Ich werde das mal versuchen in meinem script mit ein zu berechnen… // ist halt nur ein test-script …werde mich mal mit dem Ergebnis melden - aber auf die Schnelle u für andere Projekte hat mir auch die Antwort von Kannitverstan sehr geholfen.

lg Lars