Я использую sed в script для замены, и я хочу, чтобы замененный файл перезаписывал файл. Обычно я думаю, что вы использовали бы это:
% sed -i 's/cat/dog/' manipulate
sed: illegal option -- i
Однако, как вы видите, у моего sed нет этой команды.
Я пробовал это:
% sed 's/cat/dog/' manipulate > manipulate
Но это просто превращает манипулирование в пустой файл (имеет смысл).
Это работает:
% sed 's/cat/dog/' manipulate > tmp; mv tmp manipulate
Но мне было интересно, существует ли стандартный способ перенаправления вывода в тот же файл, из которого был взят вход.