Проверьте вашу справочную страницу на sed.-i
вероятно требуется суффиксный аргумент.
-i расширение
Редактировать файлы на месте, сохраняя резервные копии с указанным расширением.Если задано расширение нулевой длины, резервная копия не будет сохранена.Не рекомендуется давать расширение нулевой длины при редактировании файлов на месте, так как вы рискуете испортить или частично содержимое в ситуациях, когда дисковое пространство исчерпано, и т. Д.
Что происходит, что sedпринимая 's/Hi/Good Morning/'
в качестве аргумента -i
, а затем рассматривая abc.txt
в качестве самой команды sed.
Добавляя в команду правильное расширение для резервной копии, она будет работать следующим образом:
$ cat abc.txt
Hi, How are you
$ sed -i .bak 's/Hi/Good Morning/' abc.txt
$ cat abc.txt
Good Morning, How are you
$ cat abc.txt.bak
Hi, How are you