Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Moin Ihr, 

Ich sitz hier grad inna Umschulung Fisi und unser Dozent hat uns eine Aufgabe gegeben, welche er selber nicht lösen kann. (Ein hoch auf alle die Dr. Heuer so hochleben lassen)

Ich hab jetzt nach 2 Stunden auch aufgegeben, aber ich will trotzdem wissen ob und wie das geht :) Vielleicht ja ja hier wer eine Idee.

Gruß Nighty

Zitat

Und noch eine Knobelaufgabe
Es müssen noch Kurznamen für die Rechner generiert werden, damit das Format der 
Datei mit dem Format der Datei /etc/hosts übereinstimmt. So soll jede Zeile
folgendes Format haben:
192.168.11.1 Enterprise.starfleet.org Enterprise

 

Datei hostlist

192.168.11.1 Enterprise.starfleet.net
192.168.11.2 Yorktown.starfleet.net
192.168.11.3 Intrepid.starfleet.net
192.168.11.4 Farragut.starfleet.net
192.168.11.5 Hood.starfleet.net
192.168.11.6 Defiant.starfleet.net
192.168.11.7 Reliant.starfleet.net

 

 

Hallo, ungetestet.
 

public void AppendHostnamesToHostsFile(string filePath)
    {
        string[] lines = File.ReadAllLines(filePath);

        List<string> updatedLines = new List<string>();

        foreach (string line in lines)
        {
            if (!string.IsNullOrWhiteSpace(line) && !line.Contains('#')) // Leere Zeilen, Kommentare skippen
            {
                var parts = line.Split(' ');
                if (parts.Length == 2 && parts[1].Contains("."))
                {
                    string ip = parts[0];
                    string fullName = parts[1]; // FQDN
                    string shortName = fullName.Split('.')[0];  // Hostname

                    updatedLines.Add($"{ip} {fullName} {shortName}");
                }
                else
                {
                    updatedLines.Add(line); //Sonstige Zeilen unverändert
                }
            }
        }
        File.WriteAllLines(filePath, updatedLines.ToArray());
    }



 

 

Bearbeitet von inteldenim

Schaut für mich im Grunde erst mal valide aus.
Einlesen, Zeile am Leerzeichen splitten, dann den Teil mit dem Namen an den Punkten splitten und die erste Stelle des Splits an die Zeile anhängen.

Was bei sowas natürlich auch immer ne saubere Lösung ist, ist Regular Expressions zu verwenden. Wobei ich aber keine Ahnung habe, wie die Syntax da aussieht. Aber letztlich wäre die Regular Expression wohl was in de Richtung: Beginne nach dem Leerzeichen und gib alle Buchstaben bis zum ersten Punkt.

 

An dieser Stelle sei einmal anzumerken, dass keiner der Antwortenden bei der gestellten Frage direkt von einer Lösung in einer Kommandozeile ausging. Klar, die "Schüler dieses Lehrers" wissen es direkt, weil gerade Thema, andere „Unwissende“ hätten jetzt auch SED vorher googeln können, aber eigentlich: Frage mich, wie viel Potential und Lebenszeit für unklar gestellte Fragen im Internet pro Sekunde unnütz draufgehen.

  • Autor
vor 13 Stunden schrieb Dr. Octagon:

An dieser Stelle sei einmal anzumerken, dass keiner der Antwortenden bei der gestellten Frage direkt von einer Lösung in einer Kommandozeile ausging. Klar, die "Schüler dieses Lehrers" wissen es direkt, weil gerade Thema, andere „Unwissende“ hätten jetzt auch SED vorher googeln können, aber eigentlich: Frage mich, wie viel Potential und Lebenszeit für unklar gestellte Fragen im Internet pro Sekunde unnütz draufgehen.

Da muss ich dir grundsätzlich recht geben. Wenn der Kopf bereits dampft kann man sowas schonmal vergessen zu bedenken.

Also verzeiht einem alten Mann ;)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.