これをテストする方法はありませんが、csh の過去の経験から、次のようなことがわかります。
#!/bin/csh
file="$1"
switch ("$file")
case *.xml:
echo "file matches .xml"
breaksw
default:
if ( grep '\.xml$' "$file" ) then
echo "xml file extensions found in $file"
endif
breaksw
endswitch
動作するはずです。
IHTH