>
kann es tun.
echo "text" > file
tee
kann es tun.
echo "test" | tee file
Kann man das sed
machen, ohne eine der oben genannten Methoden zu verwenden? Ist es möglich, die Ausgabe eines sed
Befehls in einer Datei zu speichern, ohne entweder >
oder zu verwenden tee
?
sed
io-redirection
Folatt
quelle
quelle
sed '' file > newfile
und Sie hätten gesehen, dass>
es in der Tat mitsed
genau wie mit jedem anderen Programm verwendet werden kann.>
Operator wird immer noch verwendet . Ich war interessiert, ob es einen sed-Befehl gibt, der stattdessen verwendet werden kann. Aber ich werde diese Frage löschen, wenn es so schlimm ist.sed -i
Antwort akzeptiert haben, bearbeite ich Ihre Frage und kläre, wonach Sie suchen.sed
ist nicht für die Datenumleitung gedacht, wietee
und>
soll".Antworten:
tee und> können für die Datenumleitung verwendet werden, da diese für die Datenumleitung unter Linux verwendet werden sollen.
sed dagegen ist ein stream editor. sed ist nicht für die Datenumleitung gedacht, da tee und> so gedacht sein sollen. Sie können dazu jedoch die Konjunktion von Befehlen verwenden.
benutze tee oder> mit sed
oder
benutze sed mit der Option -i
der letzte leitet nicht um, sondern nimmt Änderungen in der Datei selbst vor.
quelle
sed
es könnte alleine funktionieren, da es auch in der Lage ist, Backup-Dateien mit dieser-i.bak
Option zu erstellen .echo "test" | dd of=file status=none
, die Ausgabe eines Echos zu unterdrücken, ohne die obskure Ausgabeumleitung zu verwenden2> /dev/null
, sondern nach den Einschränkungen von sed zu fragen. Ich war wirklich beeindruckt von den Fähigkeiten von sed, da es in der Lage ist, Zeilen in eine Datei einzufügen, was mir den Eindruck vermittelt, dass sed alles kann, was Tee kann und mehr.sed
hat denw
Befehl, der tun könnte, was Sie benötigen:sed 'w file'
für sich allein hat die gleiche Wirkung wietee file
. Wenn es andere sed-Befehle gibt, geben Sie denw
letzten ein:Dies ist jedoch von der
-n/--quiet/--silent
Option nicht betroffen . Das unterdrückt nur den Inhalt, der sonst zur Standardausgabe gewechselt wäre.quelle
Wie Ankidaemon richtig betonte, können wir sed-Ausgaben in einer Datei speichern. Ich möchte hinzufügen, dass, wenn wir einige Operationen an einer Datei durchführen, dh ersetzen und die Ausgabe in derselben Datei speichern möchten. Es gibt ein
-i
Flag, insed
dem Inplace-Bearbeitungen möglich sind. Dadurch wird jedoch eine Sicherungsdatei erstellt. Wenn dies nicht benötigt wird, können Sie einfach einen leeren Dateinamen an-i
flag übergeben.quelle