sed: не могу прочитать: нет такого файла или каталога

Я запускаю следующую команду:

find . -name '*.html' -exec sed "s/foo/bar/g" {} \;

где структура файла выглядит так:

./two/three.html
./two/two.html
./two/one.html
./three/three.html
./three/two.html
./three/one.html
./one/three.html
./one/two.html
./one/one.html

Тем не менее, sed возвращается, говоря, что файлы не могут быть найдены, хотя эти две команды работают нормально самостоятельно (то есть я могу запустить поиск самостоятельно, и я могу запустить sed самостоятельно).

Я посмотрел на него со стороны, и он тоже был в тупике. В итоге я пошел другим путем, но мне все равно хотелось бы знать, что здесь происходит не так.

1 ответ

Решение

Спасибо Гленну Джекману за совет:

Мне нужно было поставить кавычки вокруг скобок как таковые:

-exec sed "s/foo/bar/g" '{}' \;

Вместо того, как я первоначально отправил это.

Другие вопросы по тегам