You forgot to quote the
[[:space:]] glob operator and are using a shell like
fish doesn't support
[...] glob operators),
bash -O failglob (most probably
(t)csh given the error message) that (rightly) fails the command when a glob fails to match.
tcsh doesn't recognise the
[:space:] POSIX character classes, but that
s/=[[:space:]]0/-180/ is still recognised as a glob.
mkdir -p 's/=a]0/-180', the glob would match. That
s/=[[:space:]]0/-180/ would be expanded to
s/=a]0/-180/ and you wouldn't get the
No match error.
Instead, here, you want to quote that for the shell not to consider it as a glob pattern and pass the string literally to
(Here, I'm also adding the missing
* to allow 0 or more spacing characters in the pattern, and the missing
= in the replacement):
Or to preserve the original spacing: