<pedantic-mode>Таки есть промежуточный (что, впрочем, неважно: часто TMPDIR смонтирован как tmpfs). Вроде в plan9 сработало бы перенаправление вывода в исходный файл.
The replace utility program changes strings in place in files or on the standard input.
Invoke replace in one of the following ways:
shell> replace from to [from to] ... -- file_name [file_name] ...
shell> replace from to [from to] ... < file_name
from represents a string to look for and to represents its replacement. There can be one or more pairs of strings.
Use the -- option to indicate where the string-replacement list ends and the file names begin. In this case, any file named on the command line is modified in place, so you may want to make a copy of the original before converting it.
replace prints a message indicating which of the input files it actually modifies.
If the -- option is not given, replace reads the standard input and writes to the standard output.
replace uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps a and b in the given files, file1 and file2:
shell> replace a b b a -- file1 file2 ...
такой еще вопрос.. вот к примеру, мне нужно заменить что-то, на кусок Си`шного кода, в котором полно всяких символов которые нужно экранировать, их тоже нужно руками экранировать? или есть какой-то более гуманный способ?
Спасибо, думалось что-то специфическое (мана не было и --help тоже). С другой стороны тянуть мускул (если не установлен) для одной команды... Похоже на собственный костыль из-за нехватки в стандартных пакетах (coreutils etc.), имхо, использовать его для сабжевого скрипта - не совсем комильфо.