Используйте это, чтобы сжать все .mp4 файлы в базовом каталоге и его подкаталогах.
$ zip test.zip `find . -name \*.mp4 -print | tr "\n" " "`
Объяснение:
Сжать файл zip file-name.zip path1 path2...
Чтобы получить все пути к файлу с расширением .mp4 в базовом каталоге и все его подкаталог, используйте find:
find . -name \*.mp4 -print
Чтобы перечислить все выходные данные в одной строке, разделенные space, как мы (
$ zip test.zip `find . -name \*.mp4 -print | tr "\n" " "`
Объяснение После прочтения комментария OP:
Просто повторите все найденные пути файла .mp4 файла, например:
for p in `find . -name \*.mp4 -print`
do
zip $p.zip $p
done
Если ваше имя файла содержит пробельный символ, вы можете tr заменить space на backslash space [ ! d10]
Например: используйте $p | tr ' ' "\' '" вместо $p.