Die Zeilen in der Datei:SED: Wie entgegnet man eine Zeile, die eine bestimmte Zeichenfolge enthält? (Inline-Editing)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2001 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2002 -j ACCEPT
auszukommen sie die Linie sagt, dass
2001
enthält ich einfach diesen SED-Befehl ausführen kann:
sed -i '/ 2001 /s/^/#/' file
aber jetzt, wie mache ich zurück?
wie in Kommentar die gleiche Zeile?
ich versuchte
sed -i '/ 2001 /s/^//' file
, das nicht funktioniert.
'sed -i '/ 2001/s/^ # //' Datei 'kann sein? –
Warum verwenden Sie diese Technik? Die Standardtechnik wäre, eine Zeile im Skript zu verwenden und die Jahreszahl als Argument für das Skript zu verwenden. Sie könnten beispielsweise sagen, wenn kein Argument vorhanden ist ('$ {1: -2001}') oder verwenden Sie eine Umgebungsvariable ('$ {DEFAULT_YEAR: -2001}') oder beides ('$ {1 : - $ {DEFAULT_YEAR: -2001}} '). –