alle '-g' in Dateien entfernen

Von: , Frage gestellt am Di, 7. Sep 1999

Hi,

ich möchte alle Zeichenketten "-g" aus alle Makefile.* in einem Verzeichnis mit Unterverechnissen entfernen.
Ich denke mal mit find usw?

Toll wäre ein Beispiel!

Danke!


--Joachim

3 Antworten zu dieser Frage

  1. Antwort von nach 8 Stunden hilfreich
    Re: alle '-g' in Dateien entfernen

    ich möchte alle Zeichenketten "-g" aus
    alle Makefile.* in einem Verzeichnis mit
    Unterverechnissen entfernen.
    Ich denke mal mit find usw?

    gehe in das erste Verzeichnis
    dort:
    (alles eine Zeile!)

    find . -name "Makefile.*" -print | awk '{print "sed -e 's/-g//g'", $1, "> xxxx; mv xxxx", $1}'

    Dieser "Befehl" erzeugt ein Script, das man
    mit ">" in eine Datei yyyy umlenken kann, um
    sie dann mit "tcsh yyyy" aufzufuehren. In
    der Datei stehen lauter "sed" Befehle, die
    das -g auf jeder Datei entfernen, die "find"
    gefunden hat.

    MEB

  2. Antwort von nach 11 Stunden hilfreich
    Re: alle '-g' in Dateien entfernen

    ich möchte alle Zeichenketten "-g" aus
    alle Makefile.* in einem Verzeichnis mit
    Unterverechnissen entfernen.
    Ich denke mal mit find usw?
    Toll wäre ein Beispiel!
    Kommt sofort:

    perl -i -pe s/-g// `find . -name "Makefile.*"`

    (eine Zeile)

    Wenn find zu viele Makefiles findet und dadurch die Kommandozeile für den Perl-Aufruf zu lang wird, könntest du xargs benutzen, etwa folgendermaßen:

    find . -name "Makefile.*" | xargs perl -i -pe s/-g//

    TIMTOWTDI!
    Jan

    • Antwort von nach 12 Stunden hilfreich
      Re: alle '-g' in Dateien entfernen (Nachtrag)

      Toll wäre ein Beispiel!
      Kommt sofort:

      perl -i -pe s/-g// `find . -name "Makefile.*"`
      Eine kleine Verbesserung noch:

      s/-g/g findet auch mehrere "-g"'s in einer Zeile.

      bye,
      Jan

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!