I have the following bash
script which repeats for each image found. It needs to iterated over all html, css and js files, and replace all occurrences of an image within that file.
for image in app/www/images-theme-dark/*.png
do
echo "installing icon" $image
# extract filename from iconpath
iconfile=$(basename $image)
iconPath="images/"$(basename $image)
# replace paths in all files containing icon paths
find app/www -type f \( -name "*.html" -or -name "*.css" -or -name "*.js" \
-or -name "*.appcache" \) \
-exec sed -i '' -e 's|$iconPath|images-theme-dark/$iconfile|g' "{}" \;
done
However when I run the script sed
gives:
sed: can't read : No such file or directory
On StackOverflow I've found sed: can't read : No such file or directory But I already had quotes around {}
When I echo the sed
command and and execute it on the command line manually there is no error.
I am using GNU sed v4.2.2 on Raspbian GNU/Linux 8.0 (jessie)
Does someone see what could be wrong here?