Это как раз та ситуация , в которой вы не хотите использовать ls
. Или xargs
с настройками по умолчанию, он разбивает ввод по пробелам и специально обрабатывает кавычки и обратную косую черту.Вам нужно будет использовать -0
для разделения ввода по нулевым байтам или -d '\ n'
для разделения по новой строке (GNU xargs), чтобы отключить это поведение.
Поскольку все файлы находятся в одном каталоге, вы можете просто использовать оболочку:
mv *mp4* mp4/
Или mv * .mp4 mp4 /
, если вы имели в виду только файлы, содержащие mp4
как расширение. Первый предупреждает о перемещении самого mp4
в mp4
.)
Если бы файлы не находились в том же каталоге, вам нужно было бы использовать двойную звездочку ( zsh
- включен по умолчанию или ksh
с помощью установить -o globstar
или bash
с shopt -s globstar
) :
mv **/*mp4* mp4/
или найти
find . -type f -name "*mp*" -exec mv {} mp4/ \;