Переместите несколько каталогов в одном каталоге - рекурсивно

Многие пакеты содержат специальный сценарий configure , предназначенный для проверки любых зависимостей, установленных на хост-машине. Другие используют другие механизмы, которые обычно упоминаются в файлах README или INSTALL внутри исходного пакета. Немногие могут быть скомпилированы как отдельные программы, и они не пытаются обнаружить зависимости или у них их нет.

Если вы берете код с GitHub, вы должны быть готовы к неполному коду, который в итоге не компилируется подобным образом. Затем, если вы явно не можете назвать, что это за файл, от которого зависит (а код, который вы загружаете, не имеет документации), вы можете только погуглить. Кроме того, многие имена файлов заголовков запоминаются по мере роста вашего опыта работы с Unix: -)

Разумные пакеты имеют сценарии (или другие механизмы) для проверки зависимостей и / или документацию, в которой говорится, какие зависимости вам понадобятся, неполные или плохие пакеты не есть это вообще.

1
10.07.2018, 12:45
3 ответа

Предполагая, что "Main Directory"/Testсуществует:

mv "Main Directory"/Sub[1-3] "Main Directory"/Test

Единственное, что здесь происходит, это перемещение каталогов в каталог Test. Файлы в Sub1, Sub2и Sub3по-прежнему будут доступны в тех же каталогах, но теперь по новому пути "Main Directory"/Test/Sub1и т. д.


С обновленной информацией в комментариях ниже предполагается, что bashиспользуется в качестве оболочки:

mkdir -p "Main Directory"/Test
mv "Main Directory"/episode_{0000..0049} "Main Directory"/Test

Расширение фигурной скобки "Main Directory"/episode_{0000..0049}расширится до Main Directory/episode_0000 Main Directory/episode_0001... Main Directory/episode_0049.

1
27.01.2020, 23:32

можно указать с помощью фигурных скобок,

mv {Sub1, Sub2, Sub3} Test/
1
27.01.2020, 23:32

Вы также можете сделать это, используя флаг -tс командой mv.

Синтаксис будет выглядеть следующим образом.

mv -t <destination> <src1> <src2>.... <srnN>

Вы можете сделать это и в обратном порядке.:

mv file1 file2 file3 -t DESTINATION

В вашем случае будет:

mv -t Test/ Sub1/ Sub2/ Sub3/

Источник:DevopsCube / AskUbuntu

8
27.01.2020, 23:32

Теги

Похожие вопросы