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

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

echo "text" > file

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

echo "test" | tee file 

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

16 голосов | спросил Folatt 16 Maypm16 2016, 12:42:04

2 ответа


28

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

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

ответил ankidaemon 16 Maypm16 2016, 12:55:58
5

sed имеет команду w что может сделать то, что вам нужно:

  

w имя_файла

     

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

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

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

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

ответил JigglyNaga 16 Maypm16 2016, 14:31:01

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132