I am running the following command:
find . -name '*.html' -exec sed "s/foo/bar/g" {} \;
where the file structure looks like this:
./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
However, sed comes back saying the files could not be found, even though these two commands work fine on their own (i.e. I can run a find by itself, and I can run sed by itself fine).
I had a peer look at it with me, and he was stumped also. I ended up going a different route, but I'd still like to know what exactly is going wrong here.
-print
part? To me it looks unnecessary. – Inguinalprint
will print the name of the file beforesed
does the action. Probably something that OP wants. – Prisagesed -i
to "save In-place", else where is the output going in your example. I think @Inguinal is onto something. Good luck. – Gahan-exec sed 's/foo/bar/g' '{}' \;
– Cockleshell