Перемещение файлов в каталог - PullRequest
9 голосов
/ 22 апреля 2009

Я хочу переместить все файлы, соответствующие определенному шаблону из текущего каталога, в другой каталог.

Например, как мне переместить все файлы, начиная с nz, в каталог с именем foobar? Я попытался использовать mv для этого, но это не сработало.

Ответы [ 6 ]

10 голосов
/ 22 апреля 2009
find . | grep "your_pattern" | xargs mv destination_directory

делает следующее:

  • Находит все файлы в текущем каталоге
  • Фильтрует их по вашему шаблону
  • Перемещает все полученные файлы в каталог назначения
7 голосов
/ 22 апреля 2009

mv nz* foobar должен это сделать.

6 голосов
/ 22 апреля 2009

mv nz * foobar /

1 голос
/ 23 февраля 2018

mv nz* foobar/

  • mv - переместит или переименует файл
  • nz - получит все элементы, начинающиеся с "nz"
  • foobar / - это каталог, куда все элементы попадут в
1 голос
/ 22 апреля 2009

Попробуйте использовать «mmv», который установлен в большинстве дистрибутивов Linux.

1 голос
/ 22 апреля 2009

Это будет сделано, хотя если у вас есть какие-либо каталоги, начинающиеся с nz, они тоже переместятся.

for files in nz*
do
mv $files foobar
done

Редактировать: Как показано выше, это полностью сверху. Однако для более сложных сопоставлений с образцом вы можете сделать что-то вроде:

for files in `ls | grep [regexp]`
do
mv $files foobar
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...