Как быстро найти и переместить с помощью команды find и xargs. Почти так же быстро, как locate.

find . -maxdepth 2 -name "*somepattern" -print0 | xargs -0 -I "{}" echo mv "{}" /destination/path


Команда find ищет файлы и директории в текущем каталоге и его подкаталогах, соответствующие заданному шаблону *somepattern. Опция -maxdepth 2 ограничивает поиск только до двух уровней под текущим каталогом. Затем найденные элементы передаются в команду xargs, которая использует mv для перемещения их в /destination/path.

Альтернативы: Можно использовать команду locate для быстрого поиска файлов, но она может не быть актуальной, так как использует кэш базы данных.

Аргументы:
-maxdepth 2: Ограничивает глубину поиска до двух уровней.
-name "*somepattern": Определяет шаблон имени файла, который нужно найти.
-print0: Выводит результаты поиска с нулевым разделителем, чтобы обойти проблемы с пробелами в именах файлов.
xargs -0 -I "{}" echo mv "{}" /destination/path: Запускает mv для перемещения найденных файлов в /destination/path.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *