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" '{}' \;
Вместо того, как я первоначально отправил это.