Shell-Script - Ausgabe auslesen und in variable ablegen

banshe

Mitglied
Hallo zusammen

Ich habe folgendes Problem und keine Ahnung wie ich dieses lösen kann...
Bin ziemlich neu auf dem Gebiet Linux... daher kenne ich auch nur einen Bruchteil der Befehle und möglichkeiten...

Ich habe einen Befehl der mir ein paar Zeilen Code ausgibt:

Code:
test/test/1234567890/ServerName1.vmx
test/test/12345678910/ServerName2.vmx
test/test/123456789010/ServerName3.vmx
test/test/12345678922/ServerName4.vmx

Jetzt möche ich nur die "ServerName" aus den Zeilen weiterverarbeiten.
Für jeden "ServerName" benötige ich eine Variable.

Code:
1=ServerName1
2=ServerName2
etc...

Wie kann ich dies machen?

Danke...
 
Was hast du vor? Der "Für jeden "ServerName" benötige ich eine Variable." ergibt für mich keinen Sinn, weder inhaltlich noch von möglichen Anwendungsfällen.
 
Wie du siehst, hat meine Ausgabe mehrere Zeilen. In dieser Zeile sind viele Informationen welche ich nicht benötige... ich benötige nur den Servernamen aus dieser Zeile.

Für was ich diesen Benötige? - für eine weiterverarbeitung bei der ich den Servernamen brauche..
 
Hi,

die Lösung könnte so aussehen:
Bash:
servernamen="$( dein_befehl  | sed -e 's#^.*/\(.*\)\.vmx$#\1#' )"

Dann hast du alle Servernamen in der Variable "servernamen" gespeichert und kannst dann diese z.B. über eine Schleife weiterverarbeiten:

Bash:
for server in ${servernamen}; do
  echo "Server gefunden: ${server}"
done

Gruß
BK
 

Neue Beiträge

Zurück