>
может это сделать.
echo "text" > file
tee
может это сделать.
echo "test" | tee file
Можно sed
сделать это без использования одного из вышеперечисленных? Можно ли сохранить вывод sed
команды в файл, не используя >
или tee
?
sed
io-redirection
Folatt
источник
источник
sed '' file > newfile
и вы бы увидели, что>
действительно можно использоватьsed
с любой другой программой.>
оператора. Мне было интересно, если бы была команда sed, которая могла бы использоваться вместо этого. Но я удалю этот вопрос, если это так плохо.sed -i
ответ, я отредактирую ваш вопрос и уточню, что вам нужно.sed
не предназначен для перенаправления данных, какtee
и>
(должны) быть".Ответы:
tee и> могут использоваться для перенаправления данных, потому что они предназначены для перенаправления данных в linux.
С другой стороны, sed - это потоковый редактор. sed не предназначен для перенаправления данных, как tee и> должен быть. Однако вы можете использовать сочетание команд, чтобы сделать это.
используйте тройник или> с седом
или
используйте sed с опцией -i
последний не перенаправляет, а вносит изменения в сам файл.
источник
sed
он сам может это сделать, потому что он также способен создавать файлы резервных копий с-i.bak
опцией.echo "test" | dd of=file status=none
, подавляя вывод эха, не используя скрытое перенаправление вывода2> /dev/null
, а вместо этого спрашивал об ограничениях sed. Я был очень впечатлен способностями sed, поскольку он способен добавлять строки в файл, создавая у меня впечатление, что sed может делать все, что может, и даже больше.sed
имеетw
команду, которая может делать то, что вам нужно:sed 'w file'
сам по себе будет иметь тот же эффект, что иtee file
. Если есть другие команды sed, поставьтеw
последнюю:Тем не менее, это не будет зависеть от
-n/--quiet/--silent
опции. Это только подавляет контент, который в противном случае пошел бы в стандартный вывод.источник
Как правильно указал ankidaemon, мы можем сохранить вывод sed в файл. Я хотел бы добавить, что если мы выполняем какие-то операции с файлом, т. Е. Заменить, и хотели бы сохранить выходные данные в том же файле. Есть
-i
флаг, вsed
котором возможно редактирование на месте. Это, однако, создает файл резервной копии в процессе. Если это не нужно, это можно сделать, просто передав пустое имя файла в-i
флаг.источник