Dieser Post wurde aus meiner alten WordPress-Installation importiert. Sollte es Darstellungsprobleme, falsche Links oder fehlende Bilder geben, bitte einfach hier einen Kommentar hinterlassen. Danke.
sed ist das Universaltool zur massenweisen Dateimanipulation, allerdings schlägt sich seine unglaubliche Flexibilität auch in einer komplizierten Nutzung wieder, hier sind ein paar wichtige Anwendungsfälle und Aufrufbeispiele.
sed arbeitet mit "normalen" regulären Ausdrücken, nicht der mächtigeren Perl-RegEx Engine, der Unterschied wird beispielsweise bei der Nutzung von Klammern wichtig.
Eine Zeile aus allen Dateien löschen
Der Parameter -i sorgt dafür, dass sed Änderungen direkt in die gelesene Datei zurückschreibt (anstatt sie auszugeben), mit dem RegEx-Suffix "d" kann man alle Zeilen löschen die dem Suchstring entsprechen:sed -i '/Foo::Bar::noop()/d' myfile.pl
sed -i '/function __construct() { }/d' objectfile.phpSo lassen sich leicht viele z.B. Perl-Scripte oder PHP-Dateien aufräumen.
Einen Text in allen Dateien ändern
Möchte man beispielsweise sein persönliches Manifest der aktuellen Beziehungssituation anpassen, reicht einsed -i 's/Anna/Mareike/g' manifest/kapitel/*.txt
...oder einfach eine Variable umbenennen:
sed -i 's/\$foobar/\$foobaz/g' cgi-bin/script.plAber vorsicht, dabei würde auch $foobarbaz in $foobazbaz geändert werden.
Teilweise änderungen
sed -i 's/Foo\([A-Z][a-z]\)Bar/F \1 B/g' file.txtErsetzt alle FooXyBar wobei X ein beliebiger Großbuchstabe und y ein beliebiger Kleinbuchstabe sein darf, diese Xy-Kombination wird dann als \1 in die Ersetzung übernommen.
Noch keine Kommentare. Schreib was dazu