Может ли sed сохранить свой вывод в файл?

> может это сделать.

 echo "text" > file 

tee может это сделать.

 echo "test" | tee file 

Может ли sed сделать это, не используя ни одно из вышеперечисленных? Можно ли сохранить вывод команды sed в файл без использования либо > или tee ?

tee и> могут использоваться для перенаправления данных, поскольку они предназначены для использования для перенаправления данных в Linux.

sed, с другой стороны, является редактором потока. sed не предназначен для перенаправления данных как tee и> должен быть. Однако вы можете использовать соединение команд для этого.

использовать tee или> с sed

 sed 's/Hello/Hi/g' file-name | tee file 

или

 sed 's/Hello/Hi/g' file-name > file 

использовать sed с опцией -i

 sed -i 's/Hello/Hi/g' file-name 

последний не перенаправляет, вместо этого он внесет изменения в сам файл.

sed имеет команду w которая может выполнять то, что вам нужно:

w filename

Запишите текущее пространство шаблонов в имя файла.

sed 'w file' по себе будет иметь тот же эффект, что и tee file . Если есть другие команды sed, поместите w last:

 sed 's/This/That/;w file' 

Однако на этот параметр не влияет параметр -n/--quiet/--silent . Это только подавляет контент, который в противном случае пошел бы на стандартный вывод.