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
sed
Die 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 foo
bis zur anderen mit befehlen möchten bar
, verwenden Sie:
comment '/foo/,/bar/' bla.conf
BSD (OSX) Systeme
Bei BSD sed -i
benö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
,perl
etc. Insbesondere die A von terdon!