0 / 0 / 0
Регистрация: 07.02.2024
Сообщений: 5
1

Как сделать перемещение каталога с физическим перемещением и без физического?

19.03.2024, 16:45. Показов 539. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На ФС лежат два каталога:
/var/data1/
/var/data2/
Каталог data1 имеет структуру:
<version>/<name_service>/<build_number>/*_<os>_<architectura>.(zip|7z)
пример:
3.18.100/alfa/32/alfa_linux_x86_64.zip
3.18.100/zero/32/zero-ctrl_linux_i686.7z

Нужно перенести в каталог data2 с изменением структуры каталога так что бы первым уровнем стал имя директории с названием дистрибутива и добавить разделение каталогов по архитектурам
alfa/3.18.100/32/linux_x86_64/alfa.zip
zero/3.18.100/32/linux_i686/zero-ctrl.7z
a. С физическим перемещением
б. Без физического перемещения. При перемещении перепаковать архивы 7z в zip, учесть, что в названии файла могут быть русские слова
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2024, 16:45
Ответы с готовыми решениями:

Сделать перемещение объекта на клавиатуре без инерции
Есть код управления объектом, примерно такой: Rigidbody2D rigidbody =...

Использование git'a без физического репозитория на машине
Доброго дня, друзья! Можно ли использовать некоторые функции мониторнига репозитория гита...

Как сделать перемещение нескольких файлов с заменой? И как это сделать проще?
Как сделать перемещение нескольких файлов с заменой? Например я ввожу в текстбокс название файлов,...

Перемещение каталога
Доброго времени суток Необходимо переместить папку (каталог), содержащую подпапки и файлы в...

20
Эксперт NIX
3195 / 850 / 194
Регистрация: 14.01.2013
Сообщений: 4,068
20.03.2024, 06:52 2
Цитата Сообщение от rtynov31 Посмотреть сообщение
Как сделать перемещение каталога с физическим перемещением и без физического?
С физическим - mv
Без физического - ln
В первом случае - реальное перемещение, во втором - создание ссылки. Наверное, так.
0
0 / 0 / 0
Регистрация: 07.02.2024
Сообщений: 5
20.03.2024, 06:58  [ТС] 3
Как поменять уровень директории?
0
25 / 18 / 7
Регистрация: 08.03.2020
Сообщений: 64
20.03.2024, 10:06 4
Например так (копированием файла в новый каталог):
первый параметр у скрипта - это исходная директория - 3.18.100, вторым параметром - целевая директория
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
main_dir=$1
version_dir=`echo $1 | grep -Po '[^\/]+\/$'`
version_dir=${version_dir%*/}
target_dir=${2%*/}
for i in `ls -1 $main_dir`; do
    name_service=$i
    build_number=$(ls -1 $main_dir/$i)
    os=$(ls -1 $main_dir/$i/$build_number)
    revision=$( echo $os | grep -Po '(?<=_)[^\.]+')
    os_name=$(echo $os | grep -Po '^[^_]+')
    new_path="$target_dir/$i/$version_dir/$build_number/$revision"
#    echo $new_path
    mkdir -p $new_path
    cp $main_dir/$i/$build_number/$os $new_path/$os_name.zip
done
думаю, что более опытные товарищи подправят меня, если где в скрипте накосячил.
0
25 / 18 / 7
Регистрация: 08.03.2020
Сообщений: 64
20.03.2024, 19:49 5
совсем забыл про расширение фала.
Корректный код ниже. Также не делал проверку на существование файла (директории) при создании
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
main_dir=$1
version_dir=`echo $1 | grep -Po '[^\/]+\/$'`
version_dir=${version_dir%*/}
target_dir=${2%*/}
for i in `ls -1 $main_dir`; do
    name_service=$i
    build_number=$(ls -1 $main_dir/$i)
    os=$(ls -1 $main_dir/$i/$build_number)
    revision=$( echo $os | grep -Po '(?<=_)[^\.]+')
#    echo $revision
    extension=$(echo $os | grep -Po '[^.]+$')
    os_name=$(echo $os | grep -Po '^[^_]+')
    new_path="$target_dir/$i/$version_dir/$build_number/$revision"
#    echo $new_path
    mkdir -p $new_path
    cp $main_dir/$i/$build_number/$os $new_path/$os_name.$extension
done
0
Eddy_Em
20.03.2024, 19:52
  #6

Не по теме:

Цитата Сообщение от artemkau88 Посмотреть сообщение
расширение фала
Понятие "расширение" существовало лишь в дохлом досе с его форматом 8.3. Больше нигде нет такого понятия. Это - самый простой суффикс имени файла, условно говоря. А проще вообще не выделять то, что после последней точки, т.к. от него все равно никакого смысла нет (тип файла всегда определяется по MIME), лишь редкие убогие приложения вроде gcc определяют тип файла по суффиксу.

0
5981 / 1990 / 323
Регистрация: 10.12.2013
Сообщений: 6,853
20.03.2024, 23:54 7
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Понятие "расширение" существовало лишь в дохлом досе с его форматом 8.3. Больше нигде нет такого понятия.

OpenVMS User's ManualA filename consists of a file name and a file type. The name and type are separated by a period (.). A
file also has a version number.

A complete file specification has the following format:

node::device:[root.][directory]file-name.file-type;version


Как сделать перемещение каталога с физическим перемещением и без физического?
0
25 / 18 / 7
Регистрация: 08.03.2020
Сообщений: 64
21.03.2024, 08:03 8
Eddy_Em, да, спасибо за поправку. Как я читал, расширение файла необходимо больше для пользователя, чем для ОС Linux, так как последняя определяет тип файла по его содержимому.
Поправьте меня, если не так написал.
Просто у автора темя изначально у файлов был суффикс, поэтому я и написал так.
0
Маздаененавистник
493 / 651 / 83
Регистрация: 23.11.2021
Сообщений: 3,566
Записей в блоге: 6
21.03.2024, 08:20 9
artemkau88, в первых 2-4 байтах содержится MIME. Однако, в текстовых файлах есть проблема: как заставить пользователя правильными символами начинать? Это только скрипты с шебанга начинаются, а в тех же латеховских документах вообще в начале может быть коммент или пустые строки. Вот, я ругал gcc, но, действительно: чтобы С от крестов отличить, нужно весь файл анализировать, поэтому некоторые некомпетентные разработчики продолжают ориентироваться на суффикс файла в некоторых случаях. Хотя могли бы утилиту file совместными усилиями допилить, чтобы она и текстовые файлы могла анализировать и писать: markdown text, plain text, latex source, C source и т.д.

Добавлено через 1 минуту
volodin661, этот ман составлял, мягко говоря, недалекий человек.
0
25 / 18 / 7
Регистрация: 08.03.2020
Сообщений: 64
21.03.2024, 08:51 10
Eddy_Em, спасибо! Пойду учить матчасть.
0
896 / 268 / 54
Регистрация: 30.08.2017
Сообщений: 1,771
21.03.2024, 09:07 11
Эдди, документацию писали умные люди, не надо так агрится Не юнихом единым жив человек!
Если открыть документацию эпохи той, что привёл Володин, то мы обнаружим, что, например, в ОС ПДО (она же CMS), файл идентифицировался по трем частям записи о нём в таблице записей о файлах (названия таблицы ужо не помню) - имя файла, тип файла и режим файла. 8 символов, 8 символов, 2 символа. Никакого суффикса нет. Как и роль части имени файла после точки в русском языке, не суффикс, а окончание тогда уж.
0
Маздаененавистник
493 / 651 / 83
Регистрация: 23.11.2021
Сообщений: 3,566
Записей в блоге: 6
21.03.2024, 09:56 12
Ну, назвали же его не "terminator", а "suffix". Хотя, понятно, что если буквоедствовать, то для русского языка "окончание" ближе.
Но если уж совсем буквоедствовать, то у файлов не существует никаких суффиксов, окончаний, приставок и корней. Просто имя файла длиной до 255 символов (но если пользователь - [censored], и пользуется хрюникодом, а файл именует символами вне первой половины ASCII, то вплоть до 63 символов) может содержать практически все (кроме некоторых "запрещенных") символы. И совершенно нелепо судить о содержимом файла по имени, которое дал ему пользователь!
0
896 / 268 / 54
Регистрация: 30.08.2017
Сообщений: 1,771
21.03.2024, 11:08 13
Ну почему? Я же привёл пример, когда это именно в идеологии ОС было заложено. Я категорически согласен, что для юнихов это бесполезное определение, но утверждение
"Понятие "расширение" существовало лишь в дохлом досе с его форматом 8.3. Больше нигде нет такого понятия." тоже категорически неверно, я вот работал с этой самой ПДО. FILE TEXT A2 - такое определение файла, где TEXT - это тип там везде. И там ОЧЕНЬ лепо судить о содержимом файла по его типу.

Ну и я агрюсь на Вашу горячность и яркие проявления вендо- и майкрософто- ненавести
0
Eddy_Em
21.03.2024, 11:20
  #14

Не по теме:

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

0
_sg2
21.03.2024, 11:41
  #15

Не по теме:

Стадия смирения? :)

0
5981 / 1990 / 323
Регистрация: 10.12.2013
Сообщений: 6,853
21.03.2024, 13:54 16
Цитата Сообщение от Eddy_Em Посмотреть сообщение
volodin661, этот ман составлял, мягко говоря, недалекий человек.
взять бы этого составителя, да за такие спецификации года на три в Соловки!

Эдуард, файловая система Files-11 в составе операционной системы RSX-11 для компьютеров PDP-11 так была придумана, a затем перекочевала в VMS, `составитель` тут не виноват.
0
Eddy_Em
21.03.2024, 14:07
  #17

Не по теме:

volodin661, погуглил, что за VMS такая. Увидел слово "проприетарная" и сразу понял - ненужное УГ.

0
5981 / 1990 / 323
Регистрация: 10.12.2013
Сообщений: 6,853
21.03.2024, 14:16 18
Эдуард, а что хуже, VMS или Unicode ?
0
Маздаененавистник
493 / 651 / 83
Регистрация: 23.11.2021
Сообщений: 3,566
Записей в блоге: 6
21.03.2024, 16:23 19
volodin661, а как можно сравнивать проприетарную ОС и ненужную убогую кодировку?
И да, не весь юникод - отстой! Есть же UTF32 - против него я вообще ничего не имею, хорошая однозначная кодировка, если ты - китаец.
0
5981 / 1990 / 323
Регистрация: 10.12.2013
Сообщений: 6,853
21.03.2024, 16:25 20
Цитата Сообщение от Eddy_Em Посмотреть сообщение
погуглил, что за VMS такая. Увидел слово "проприетарная" и сразу понял - ненужное УГ.
наши чёткие усть-зажопинские пацаны сразу просекают и немедленно пресекают эти капиталистические язвы
0
21.03.2024, 16:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2024, 16:25
Помогаю со студенческими работами здесь

Перемещение каталога с файлами
Здравствуйте, изучаю Win32Api. Пробую реализовать простую программку с перемещением файлов. ...

Не подключается интернет без внешнего физического usb сетевого адаптера
Интернет подключается только с установленным внешним физическим устройством, usb сетевым адаптером...

Перемонтирование извлечённой средствами Windows флешки (без физического извлечения)
Доброго времени суток! Имеется обычная флешка, которая подключена к компьютеру. Если извлечь её...

Поиск файлов и перемещение каталога
Добрый день! подскажите, пожалуйста, как можно реализовать на PowerShell задачу: необходимо...

Перемещение каталога из диска С в диск D
* Здравствуйте * Не подскажите мне...

Перемещение файлов, создание каталога
здравствуй, подскажите почему не могу создать папку for i:=0 to colcentr-1 do ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru