Zeile mit Hochkomma ändern

  • Hi,


    wie kann ich eine Zeile von

    Code
    1234567890="Inhalt"

    nach

    Code
    1234567890=""

    ändern?


    sed zum Beispiel schreibt mir nur

    Code
    1234567890=

    also ohne die Hochkomma


    Danke

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Du wirst die Hochkomma quoten müssen könnte ich mir vorstellen.


    Zeig doch mal deinen sed


    Andy

  • Die ist im /dev/null vor lauter probieren ;)


    Wie würde denn eine Zeile mit quoten aussehen?

    Gruß utiltiy



    VDR Projekte VDR Projects

  • so ganz auf die schnelle aus dem Kopf und ungetestet


    sed -e 's/'\''Inhalt'\''/'\"''\"'/g'


    Google gibt dir aber viele Beispiele


    Andy

  • Halt!


    Ich habe vergessen zu erwähnen, da liegt mein Hauptproblem, dass ich genau diese Zeile suchen will, da das Wort in den Hochkomma öfters vorhanden ist in anderen Zeilen.


    BTW, Google habe ich durchaus bemüht aber in meinem speziellen Fall nichts gefunden ;)

    Gruß utiltiy



    VDR Projekte VDR Projects

  • einfach awk nehmen:)


    Code
    echo 1234567890=\"Inhalt\" | awk '{
        print gensub("\"[^\"]+\"", "", "g")
    }'


    ach ich sehe gerade du moechtest die " behalten, dann so:


    Code
    echo 1234567890=\"Inhalt\" | awk '{
        print gensub("\"[^\"]+\"", "\"\"", "g")
    }'


    - sparkie

  • Wird schon besser, er schreibt mir nun die Zeile neu anstatt die alte zu löschen bzw. umzuändern

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Zitat

    Originally posted by utiltiy
    Wird schon besser, er schreibt mir nun die Zeile neu anstatt die alte zu löschen bzw. umzuändern


    verstehe ich nicht. Was genau geht denn noch nicht? Soll es 'in place' veraendert werden?
    Halt in ein File lenken und anschliessend nen 'mv' machen.


    - sparkie

  • Genau, es soll bei der Zeile der Inhalt der Hochkomma's getauscht werden, es handelt sich hier um die Sprachdatei de.lng von Opera. Da gefällt mir deren Lösung nicht. Darum das ganze.


    So der Künstler bin ich nicht auf dem Gebiet mit sed, awk usw.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Steht doch als Beispiel im 1. Post


    Die relevante Zeile der de.lng ist

    Code
    228969467="Neu"

    die geändert

    Code
    228969467=""

    lauten soll.

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Code
    sed -e 's/\(228969467=\"\).*\(\"\)/\1\2/g'


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Die Zeile #3817

    Code
    228969467="Neu"

    in der angehänden Sprachdatei ist der Wunde Punkt. Immer schlecht zu Erklären sowas ;)

    Dateien

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Zitat

    Original von utiltiy
    Die Zeile #3817

    Code
    228969467="Neu"

    in der angehänden Sprachdatei ist der Wunde Punkt. Immer schlecht zu Erklären sowas ;)


    Und wo ist jetzt das Problem? Geht doch mit meiner sed-Anweisung.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Stimmt, Sorry für den Trouble :tup


    Ich hatte die Ausgabe Datei vergessen weil ich so verbissen dran war ;)

    Gruß utiltiy



    VDR Projekte VDR Projects

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!