Bash: zwei Dateien zusammenführen
Hallo zusammen.
ich habe unter Linux zwei Dateien erzeugt.
Ich frage per SNMP einen Switch ab und möchte zu jedem Port die MAC-Adresse haben.
Ich habe nun zwei Dateien mit folgenden Inhalten:
Tabelle MAC:
0.0.94.0.1.1 = Hex-STRING: XX XX XX XX XX XX
0.0.94.0.1.23 = Hex-STRING: ZZ ZZ ZZ ZZ ZZ ZZ
0.0.94.0.1.25 = Hex-STRING: YY YY YY YY YY YY
0.0.133.131.30.202 = Hex-STRING: AA AA AA AA AA AA
Tabelle Port:
0.0.94.0.1.1 = INTEGER: 50
0.0.94.0.1.23 = INTEGER: 50
0.0.94.0.1.25 = INTEGER: 50
0.0.133.131.30.202 = INTEGER: 50
Jetzt würde ich gerne wissen, wie die MAC dem Port zuordnen kann.
ich habe unter Linux zwei Dateien erzeugt.
Ich frage per SNMP einen Switch ab und möchte zu jedem Port die MAC-Adresse haben.
Ich habe nun zwei Dateien mit folgenden Inhalten:
Tabelle MAC:
0.0.94.0.1.1 = Hex-STRING: XX XX XX XX XX XX
0.0.94.0.1.23 = Hex-STRING: ZZ ZZ ZZ ZZ ZZ ZZ
0.0.94.0.1.25 = Hex-STRING: YY YY YY YY YY YY
0.0.133.131.30.202 = Hex-STRING: AA AA AA AA AA AA
Tabelle Port:
0.0.94.0.1.1 = INTEGER: 50
0.0.94.0.1.23 = INTEGER: 50
0.0.94.0.1.25 = INTEGER: 50
0.0.133.131.30.202 = INTEGER: 50
Jetzt würde ich gerne wissen, wie die MAC dem Port zuordnen kann.
Please also mark the comments that contributed to the solution of the article
Content-Key: 260613
Url: https://administrator.de/contentid/260613
Printed on: April 23, 2024 at 22:04 o'clock
4 Comments
Latest comment
Ich frage per SNMP einen Switch ab und möchte zu jedem Port die MAC-Adresse haben.
#!/bin/bash
FILEMAC=./mac.txt
FILEPORT=./port.txt
# für jede Zeile in der PORT Datei
while read line ;do
# extrahiere den Interfaceteil der Zeile durch ein cut anhand des Leerzeichens
interface=$(echo $line | cut -d " " -f1)
# Suche in der MAC Datei nach dem Interface und trenne die gefundene Zeile anhand des Doppelpunktes
mac=$(grep "^$interface" $FILEMAC | cut -d ":" -f2)
# gebe die Variablen auf der Konsole aus
echo "$line MAC:$mac"
done <$FILEPORT
Kommentare oben eingefügt ...
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.