> printf %q "$filename" > > will either insert backslashes in front of all the shell metacharacters, > or $'...' quote the whole thing, or take some other action which renders > a string "safe". It's basically the opposite of eval.
Interesting! Can I make it part of my pipe (in place of `sed') or need I change it to a for or while loop? This is what I have now: files=$(find /home/mathias/Videos/movies/ -iname "*.avi" -type f - printf "%P\n" | grep "${cur}" | sed "s/\\([][\\(\\) ,\']\\)/\\\\\\1/ g") /Mathias