Wie kann ich in beliebig vielen Textdateien einen bestimmten Satz löschen? Ganz konkret ging es um 420 Dateien in verschiedenen Ordnern. Ein klarer Fall für den Shell Guru (Lukas). Da mir so schwindelig geworden ist als er mir die Instruktionen diktierte, beschloss ich dies gleich mal hier festzuhalten.
Wir benutzen “ed” – ed ist der “vi” für die Kommandozeile. Eigentlich dachte ich vi sei schon Kommandozeile genug, aber ich wurde eines besseren belehrt!
Wir legen uns das remove.ed Skript an:
“%” steht für in der ganzen Datei,
“s” wie search
“,mein langer satz den ich loswerden möchte,,” ersetzen durch “nichts” hier könnte zwischen dem 2. und 3. Komma auch “mein neuer satz stehen”.
“g” greedy – ersetzt alles… nicht nur den erst besten Hit.
“w” schreiben
“q” feierband / quit
jetzt der voodoo: suche alle Dateien und ersetze es mit den Angaben von Ed. (Aus unserer remove.ed)
erstmal testen:
Wenn aufm Bildschirm eine entsprechend lange Liste mit den richtigen Pfaden und Dateien auftaucht, prima! So in etwa:
jetzt abfeuern – das gleiche wie eben, nur das wir mit der letzten Pipe das ganze an die bash übergeben, denn die Ausgabe oben sind gültige Shell Befehle.
Und knick knack – weg sind sie!