Jump to content

the-dodger

Members
  • Gesamte Inhalte

    3
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von the-dodger

  1. Gerade eben schrieb NilsK:

    Moin,

     

    vermutlich ist die Antwort "Regular Expression", aber ich kann dir auf die Schnelle kein Beispiel geben.

     

    Gruß, Nils

     

    Tach auch,

     

    War auch meine Idee, aber das führte leider nicht zum erwünschten Ergebnis:

     

    
    $displayname = "test"
    
    $sPat = "#Start_OF_$displayname(.*?)#End_OF_$displayname"
    
    $string = get-content $importpath -ReadCount 0| select-string -Pattern $sPat | select -expand Matches | select -expand Value
    $string
    
    

     

    brachte nur folgendes:

     

    #Start_OF_test   - name: test     ipsum     dolor     bla     bla #End_OF_test

     

    Also den ganzen Text ohne Zeilenumbruch.

    Habe trotzdem versucht, dieses zu verwenden mit folgendem Code:

     

    
    (get-content "config.txt").replace($string,'') | out-file "config_new.txt"
    
    

     

    aber nichts wurde verändert.

     

    Dank und Gruß,

     

    The Dodger

  2. Hallo liebe Gemeinde,

     

    ich bin zwar kein wirklicher Frischling mehr im Bereich scripting unter Powershell, aber seit einigen Tagen zermarter ich mir das Hirn wegen unten angegebenen Problems:

     

    Ich habe eine config Datei mit folgendem Inhalt:

     

    #Start_OF_test
      - name: test
        ipsum
        dolor
        bla
        bla
    #End_OF_test

     

    #Start_OF_test_new
      - name: test_new
        bla
        abc
        bla
        bla
    #End_OF_test_new

     

    Basierend auf einer Nutzereingabe soll nun entweder das Segment "test" oder "test_new" gelöscht werden.

    Also im Endeffekt ( Nutzer hat "test" zum löschen angebeben ) soll es so aussehen:

     

    #Start_OF_test_new
      - name: test_new
        bla
        abc
        bla
        bla
    #End_OF_test_new

     

    Das Problem ist das der Inhalt der einzelnen Segmente variieren kann, deswegen auch die Abgrenzung mit "#Start OF..." und "#End OF..."

     

    Unter *nix würde folgender Befehl das gewünschte Ergebnis bringen:

    sed "/#Start_OF_test/,/#End_OF_test/ d"

     

    Wie bekomme ich das aber nun mit Powershell hin?

     

    Dank und Gruß,

     

    The Dodger

     

×
×
  • Neu erstellen...