Первая команда sed
(s/\//./
)заменит все косые черты точкой в содержимом файла , а не в имени файла.
Вторая sed
команда(s/(namespace.Project).+/\1.$x/
)добавит$x
(все еще неизмененный путь к файлу )в пространство имен. Это приводит к ошибке в sed
, поскольку содержит косые черты без экранирования, которые интерпретируются sed
.
См. этот родственный вопрос .
Кроме того, прочитайте как безопасно использовать find -exec sh -c
. Добавление {}
непосредственно к содержимому bash — это кошмар безопасности.