sed ist auch eine Programmiersprache

Viele machen so etwas:

~$ grep abc | sed 's/x/y/'

Kürzer ist:

~$ sed '/abc/!d;s/x/y/'

Erklärung: Dieses sed-Programm besteht aus zwei durch „;“ voneinander getrennte Kommandos, „d“ und „s///„.

/abc/!“ ist eine Zeilenadressierung durch einen invertierten regulären Ausdruck, d.h. das folgende Kommando wird für alle Zeilen ausgeführt, auf die die ReEx nicht zutrifft. Das damit angewendete Kommando ist „d„, also „Zeile löschen“.

Das zweite Kommando, die Substitution „s///“ wird auf alle verbliebenen Zeilen ausgeführt.