Что вызывает отказ в разрешении при использовании sed?

Выполнение следующей строки в моем сценарии дает мне ошибку Permission denied:

$config_out | sed -e 's#name="in" value=""#name="in" value="1600"#' > $config_out".tmp"

Раньше у меня был $config_out | sed -e 's#name="in" value=""#name="in" value="1600"#' > $config_out, поэтому без .tmp в конце. Я где-то читал, что вы получаете ошибку при попытке передать вывод в тот же файл, из которого вы его читаете. Но когда я записываю его в другой файл, я не знаю, почему я получаю эту ошибку.


person Niek de Klein    schedule 14.06.2012    source источник


Ответы (1)


$config_out - имя файла или команды? Если это файл, вам нужно либо cat $config_out | sed ..., либо sed ... < $config_out > $config_out.tmp. Однако, если это команда, первая команда могла бы обрезать / перезаписать что бы то ни было (сценарий оболочки, сценарий Perl или что-то в этом роде?).

person twalberg    schedule 14.06.2012
comment
ах, мне пора перестать работать .. Я забыл поставить кота. Спасибо, через минуту приму - person Niek de Klein; 14.06.2012