Поиск по сайту:

Как одновременно переместить несколько типов файлов из командной строки

На днях я искал способ перемещения (а не копирования) файлов нескольких типов из одного каталога в другой. Я уже знал, как находить и копировать файлы определенного типа из одного каталога в другой. Но я не знаю, как одновременно перемещать несколько типов файлов. Если вы когда-либо оказывались в подобной ситуации, вот простой способ сделать это из командной строки в Linux.

Переместить несколько одинаковых или разных типов файлов легко! Вы можете сделать это парой щелчков мыши в режиме графического интерфейса или использовать однострочную команду в режиме CLI. Однако если у вас есть сотни разных типов файлов в каталоге и вы хотите переместить несколько типов файлов в другой каталог за один раз, это будет обременительной задачей. К счастью, следующий метод легко справился со мной!

Перемещение нескольких типов файлов одновременно в Linux

Представьте себе этот сценарий. У вас есть файлы нескольких типов, например .pdf, .doc, .mp3, .mp4, .txt и т. д., в каталоге с именем 'dir1'.

Давайте посмотрим на содержимое этого каталога:

$ ls dir1
file.txt image.jpg mydoc.doc personal.pdf song.mp3 video.mp4

Вы хотите переместить некоторые типы файлов (не все) в другое место. Например, предположим, что вы хотите переместить файлы doc, pdf и txt в другой каталог с именем 'dir2' за один раз.

Чтобы одновременно переместить файлы .doc, .pdf и .txt из каталога 1 в каталог 2, команда будет такой:

mv dir1/*.{doc,pdf,txt} dir2/

Это легко, не так ли?

Теперь давайте проверим содержимое каталога dir2:

$ ls dir2/
file.txt mydoc.doc personal.pdf

Видеть? типы файлов .doc, .pdf и .txt из каталога 1 были перенесены в каталог 2.

Перемещайте несколько типов файлов одновременно в Linux с помощью команды mv

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

Другой способ перемещения файлов нескольких типов — перейти в исходный каталог, т.е. в нашем случае dir1:

cd ~/dir1

И переместите выбранные вами типы файлов в место назначения (например, dir2), как показано ниже.

mv *.doc *.txt *.pdf /home/sk/dir2/

Чтобы переместить все файлы с определенным расширением, например только .doc , выполните:

mv dir1/*.doc dir2/

Более подробную информацию можно найти на страницах руководства.

man mv

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

Статьи по данной тематике