Если ping сообщает, что имя или служба неизвестны, я предполагаю, что у вас проблема с службой DNS. Вы пытались пропинговать IP-адрес вместо «google.com»? Вы можете узнать IP-адрес, соответствующий веб-сайту, с помощью таких инструментов, как
Первая команда sed
(s/\//./
)заменит все косые черты точкой в содержимом файла , а не в имени файла.
Вторая sed
команда(s/(namespace.Project).+/\1.$x/
)добавит$x
(все еще неизмененный путь к файлу )в пространство имен. Это приводит к ошибке в sed
, поскольку содержит косые черты без экранирования, которые интерпретируются sed
.
См. этот родственный вопрос .
Кроме того, прочитайте как безопасно использовать find -exec sh -c
. Добавление {}
непосредственно к содержимому bash — это кошмар безопасности.
ну, я нахожу свой путь... с переменными bash. Что-то вроде этого:
for i in `find -type f -iname *.cs`; do j=$(echo $i|sed -E 's/\.\//namespace Project\//g;s/\//./g; s/(\.[[:alnum:]]*\.cs$)//g'); sed -i -E "s/(namespace Project.+)/$j/g" $i ; done;