Arch Drone wrote:

> [EMAIL PROTECTED]:~/tmp$ ls
> a
> [EMAIL PROTECTED]:~/tmp$ echo "abcDEF.<>" | tr -d [:alpha:]
> bcDEF.<>
> [EMAIL PROTECTED]:~/tmp$ mv a b; ls
> b
> [EMAIL PROTECTED]:~/tmp$ echo "abcDEF.<>" | tr -d [:alpha:]
> .<>

This is not a bug.  Without quoting, [:alpha:] is interpreted by the
shell as a glob that matches the filename 'a', so you're really running
"tr -d a" in the first example.  You need to quote the argument if you
don't want it to spuriously match a filename:

tr -d '[:alpha:]'

You commonly see this also with find, where you have to quote globs that
you want to survive past the shell without interpolation and be passed
on to the command:

find . -name '*.ext'

Brian


_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to