Предполагается, что у вас есть файл с именем files , который содержит имена файлов, каждое в новой строке, и файл с именем dirs с каталогами в каждой новой строке, оба из которых имеют одинаковые количество записей, например:
files
file1
file2
file3
dirs
dir1
dir2
dir3
Затем, чтобы переместить файл1 в dir1, file2 to dir2 и т. д. вы можете использовать команду:
paste dirs files | xargs -n2 mv -t
paste
соединяет строки из обоих файлов, затем xargs
принимает два аргумента и вызывает с ними команду mv
. Опция -t
выбирает каталог назначения. Ниже приведен соответствующий фрагмент документации mv
.
mv [OPTION]... -t DIRECTORY SOURCE...
-t, --target-directory=DIRECTORY
move all SOURCE arguments into DIRECTORY