Find and move
Find files with extension in currect directory
find . -maxdepth 1 -name '*.wav' -exec mv -t to_dir {} +
Find files with extension in directory and its subdirectories
find . -name '*.wav' -exec mv -t to_dir {} +
Extras:
Find and count:
find . -name "*.wav" | wc -l
Stats per extension:
find . -name '?*.*' -type f -printf '%b.%f\0' |
awk -F . -v RS='\0' '
{s[$NF] += $1; n[$NF]++}
END {for (e in s) printf "%15d %4d %s\n", s[e]*512, n[e], e}' |
sort -n
eg:
size, file count, extension
4556288000 1 tgz
5416792064 256 zip
8554487808 1178 gz
20127576064 16 mkv
73349218304 457198 wav