Without enabled globbing, files can be excluded by the second command of this code section:
# List all files ending in .html. ls | grep "\.html$" # List all files not ending in .html. ls | grep -v "\.html$"
If extended globbing is turned on:
printf "%s\n" *!(.html)
NOTE: globbing can be enabled by inserting setopt extendedglob in .bashrc
This should work:
ls path/*!(.html)