Wenn Sie die Änderungen von sed
speichern möchten Zurück zur Datei verwenden Sie die -i
Möglichkeit:
$ cat file
<head>abc</head>
<td>hello</td>
<td>hello</td>
<td>hello</td>
<td>abc</td>
<td>abc</td>
<h1>abc</h1>
$ sed -ni '/<td>/{s/^\s*//;s/abc//;s/<\/\?td>//g;p}' file
$ cat file
hello
hello
hello
Bearbeiten: Der Regex wird übersichtlicher, wenn wir mit sed
ein anderes Trennzeichen verwenden und verwenden Sie die erweiterte Regexp-Option -r
:
$ sed -r 's_</?td>__g' file
hello
hello
hello
abc
abc
Die ?
Machen Sie das vorherige Zeichen optional, also /
muss nicht vorhanden sein, damit der reguläre Ausdruck <td>
entspricht und </td>
in Eins.
Im Befehl sed Verwenden Sie die Option -i, um die Datei selbst zu ändern , wenn nicht, wird die Ausgabe auf dem Bildschirm gedruckt, aber die Datei bleibt gleich.
Die Formel wäre:
sed -i <targetFile> 's/<beforeText>/<afterText>/g' <targetFile>
Zum Beispiel:
sed -i myCredentials.txt 's/secretPassword/xxx/g' myCredentials.txt
Eine weitere Option - in eine andere Datei ausgeben und umbenennen:
sed 's/secretPassword/xxx/g' myCredentials.txt > temp.txt
rm myCredentials.txt && mv temp.txt myCredentials.txt
Weitere Informationen finden Sie in der Dokumentation:
Das Dienstprogramm sed liest die angegebenen Dateien oder die Standardeingabe, wenn nofiles angegeben sind, und modifiziert die Eingabe wie durch eine Liste von Befehlen angegeben . Die Eingabe wird dann in die Standardausgabe geschrieben. Als erstes Argument für sed kann ein einzelner Befehl angegeben werden. Mehrere Befehle können mit den Optionen -e oder -f angegeben werden. Alle Befehle werden ungeachtet ihres Ursprungs in der angegebenen Reihenfolge auf die Eingabe angewendet.
-ich Dateien direkt bearbeiten , Sicherungen mit der angegebenen Erweiterung speichern. Wenn eine Erweiterung der Länge Null angegeben wird, wird keine Sicherung gespeichert. Es wird nicht empfohlen, beim direkten Bearbeiten von Dateien eine Erweiterung der Länge Null anzugeben, da Sie in Situationen, in denen der Speicherplatz erschöpft ist usw., eine Beschädigung oder einen Teil des Inhalts riskieren.