So kommentieren Sie die Zeilen 2 bis 4 von bla.conf:
sed -i '2,4 s/^/#/' bla.conf
Um den gewünschten Befehl zu erstellen, fügen Sie den obigen Befehl einfach in ein Shell-Skript mit dem Namen comment ein:
#!/bin/sh
sed -i "$1"' s/^/#/' "$2"
Dieses Skript wird genauso wie Ihr Skript verwendet, mit der Ausnahme, dass die erste und die letzte Zeile durch ein Komma und nicht durch einen Bindestrich getrennt werden sollen. Beispielsweise:
comment 2,4 bla.conf
Ein Kommentarbefehl kann analog erstellt werden.
Erweiterte Funktion
sedDie Zeilenauswahl ist ziemlich mächtig. Neben der Angabe der ersten und letzten Zeile nach Nummer können diese auch durch einen regulären Ausdruck angegeben werden. Wenn Sie also alle Zeilen von der einen mit foobis zur anderen mit befehlen möchten bar, verwenden Sie:
comment '/foo/,/bar/' bla.conf
BSD (OSX) Systeme
Bei BSD sed -ibenötigt die Option ein Argument, auch wenn es sich nur um eine leere Zeichenfolge handelt. Ersetzen Sie daher zum Beispiel den obigen Befehl top durch:
sed -i '' '2,4 s/^/#/' bla.conf
Und ersetzen Sie den Befehl im Skript durch:
sed -i '' "$1"' s/^/#/' "$2"
sed,perletc. Insbesondere die A von terdon!