Мне интересно, можно ли использовать bash для mv нескольких файлов с разными расширениями в один каталог, например
mv 1.png 2.jpg dir/
кроме совпадения многих файлов
Используйте шары ! Глоб - это шаблон, который расширяется до нескольких имен файлов. Это также очень хорошо объяснено здесь.
Например, * соответствует любой строке любой длины, и вы можете переместить все файлы JPG и PNG куда-нибудь с помощью:
mv *.jpg *.png dir
Используя опцию extglob в Bash, вы также можете сделать:
shopt -s extglob
mv *(*.jpg|*.png) dir
Простейшим способом было бы использовать сочетание расширения скобки и сглаживания
mv -iv -- *.{png,jpg} dir/
Который расширяется до
mv -iv -- *.png *.jpg dir/
Который расширяется до (все файлы, включая dirs/symlincs, заканчивающиеся на .png или .jpg)
mv -iv -- 1.png 2.jpg ... dir/
Примечание: -iv -- в том числе для безопасности / многословия
-i, --interactive
       prompt before overwrite
-v, --verbose
       explain what is being done
[GETOPT] The special argument "--" forces an end of option-scanning 
         regardless of the scanning mode. 
         (Meaning everything after it gets treated as an argument)
Да, это так.
$ tree
.
├── a.png
├── b.jpg
└── dir
1 directory, 2 files
$ mv a.png b.jpg dir
$ tree
.
└── dir
    ├── a.png
    └── b.jpg
1 directory, 2 files
$ 
mv не заботится о расширениях файлов, все, что он знает, - это исходный файл и целевой каталог, запрошенный вами.