yurius |
|
Темы:
79
Сообщения:
886
Участник с: 01 января 2018
|
Всем привет! Задача передо мной стоит следующая. У меня есть несколько жёстких дисков, в каждом из которых есть раздел ЕХТ (виндовский D:\, "барахолка"), и эти разделы полностью идентичны по своему составу и структуре на всех дисках. На этом ЕХТ есть очень сложная структура каталогов и подкаталогов большой глубины, причём на каждом уровне содержатся и файлы. Мне нужно создать "скелет" этого раздела - то есть только ПУСТУЮ структуру тех же самых каталогов и подкаталогов БЕЗ ФАЙЛОВ. В инете накопал такое решение: find . -type d >dirs.txt mkdir SKELETON && cp dirs.txt SKELETON && cd SKELETON xargs mkdir -p <dirs.txt - и тогда в каталоге SKELETON будет полная визуальная копия ЕХТ без файлов. Да, это работает, проверил - НО сложность в том, что это работает, если каталоги имеют кошерные, приличные названия типа "1", "222" и т.д., которые я создал сам в целях попробовать способ. Но в реальности очень многие каталоги на ЕХТ у меня называются по-русски, содержат разные символы вроде "---", "!" и т.д., которых вышеуказанная процедура, видимо, неправильно понимает. В итоге, после применения вышеуказанных действий у меня образовалось вообще не пойми что, нечто бесструктурное (самых верхних каталогов вообще нет), и некоторые названия я даже понять не могу как образовались, каталогов с такими названиями у меня просто нет (названия похожи на хреновый гуглоперевод). В общем, визуально это и близко не похоже на структуру каталогов на ЕХТ. Вопрос естественный - может есть какие-то более серьёзные (может и графические?) решения для такой задачи? Ну очень надо! Потому что сижу только на Арче (в ПК вставлен только ЖД с Арчем), каждый день в его ЕХТ вносятся какие-то изменения - что-то добавляется, что-то удаляется, что-то изменяется. А все 4-5 дисков я подключать не могу, а даже если бы смог, то вносить потом каждое изменение, сделанное на Арч-ЕХТ на все остальные диски - это не хватит никакого терпения и памяти, где я что в Арче менял, на что, что удалил, что добавил и т.д. А так - сделал изменение на Арче, сразу сделал его в соотв. каталоге в "скелете", а потом (когда надумаю внести изменения на ВСЕ остальные диски сразу) просто копирую "скелет" на структуру этих дисков, и изменения вносятся сами, и туда, куда надо. |
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
yuriusвы сами ответили на свой вопрос, хотя на мой взгляд эт ерунда какая-то...
Ошибки в тексте-неповторимый стиль автора©
|
yurius |
|
Темы:
79
Сообщения:
886
Участник с: 01 января 2018
|
indeviral Сделал - но какую обратную команду дать, чтобы структуру создало? Потому что xargs mkdir -p <dirs.txt не создала ВООБЩЕ ничего. По варианту в топике создала хоть что-то, а сейчас ни одного каталога. |
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
yuriusвсё должно работать. может вы точку впереди не поставили? \'.{}\' иначе пути абсолютными получатся.
Ошибки в тексте-неповторимый стиль автора©
|
yurius |
|
Темы:
79
Сообщения:
886
Участник с: 01 января 2018
|
indeviralСкопировал отсюда вашу команду в терминал, запустил, сформировался вполне содержательный dirs.txt. Но команда xargs mkdir -p <dirs.txt не отработала, уж извините. Если нужна другая - подскажите. indeviralСКОПИРОВАЛ вашу команду. Сейчас перепроверил в терминале - есть точка. |
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
ну если всё верно. тогда вероятно вопрос в интерпретаторе? посмотрите у вас файл dirs.txt создаётся с корректным содержимым? а всё догнал мой косяк, наоборот точка лишняя))
Ошибки в тексте-неповторимый стиль автора©
|
yurius |
|
Темы:
79
Сообщения:
886
Участник с: 01 января 2018
|
indeviralКак проверить его корректность? Вот куски из него для примера:
|
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
yurius indeviralоно всё создало у вас правда в родительском каталоге. звиняйте. p.s. я что-то подумал что find постоянно абсолютные пути возвращает.
Ошибки в тексте-неповторимый стиль автора©
|
red |
|
Темы:
30
Сообщения:
1517
Участник с: 31 августа 2011
|
там по идее еще должен косяк вылезти если в имени попадётся кавычка( ' ) |
yurius |
|
Темы:
79
Сообщения:
886
Участник с: 01 января 2018
|
indeviral СУПЕР! Всё, как надо! Спасибо вам большущее! Итак, РЕШЕНИЕ:
|