Изравнајте угнежђени директоријум & хијерархију датотека из командне линије Мац ОС Кс-а

Anonim

Да ли вам је икада било потребно да изравнате структуру директоријума, премештајући сав садржај датотека из подређених фасцикли директоријума у ​​једну фасциклу? Иако ово можете да урадите ручно померањем датотека и фасцикли из система датотека Мац ОС Кс или Линук-а, бржа опција је да се окренете командној линији. Можда сте у једном тренутку направили угнежђену хијерархију директоријума које сада морате да поништите премештањем свих датотека из тих угнежђених фасцикли и назад у један директоријум, или можда желите да поједноставите структуру директоријума, без обзира на разлог, ово трик ради прилично добро.

Коришћење командне линије за постизање изравнавања датотека и структура директоријума је очигледно најбоље резервисано за напредне кориснике којима је уопште пријатно да користе терминал, ако вас то не описује, размислите о томе да то урадите ручно преко Финдер-а , или помоћу апликације Мац Аутоматор да бисте постигли сличну аутоматизацију активности система датотека. Међутим, фокусирамо се на изравнавање директоријума из командне линије.

Пример изравнавања угнежђеног директоријума датотека

Да бисмо боље разумели шта покушавамо да постигнемо, узмимо пример замишљене структуре директоријума под називом ТестДирецтори који се налази у почетној фасцикли корисника. У овом примеру, ТестДирецтори садржи поддиректоријуме као што су СубДирецтори1, СубДирецтори2, СубДирецтори3, итд, од којих свака има датотеке у тим одговарајућим фасциклама. Оно што овде желимо да урадимо је да изравнамо структуру директоријума, премештајући све датотеке из СубДирецтори(Кс) у родитељски директоријум „ТестДирецтори“.Почетни директоријум и садржај који се рекурзивно приказује са може изгледати отприлике овако:

$ финд ~/ТестДирецтори/ -типе ф ~/ТестДирецтори/рооти.јпг ~/ТестДирецтори/СамплеДирецтори1/бета-тоол-превиев.јпг ~/ТестДирецтори/СамплеДирецтори1 /алпхабета-тоол.јпг ~/ТестДирецтори/СамплеДирецтори2/тест-тоолс.јпг ~/ТестДирецтори/СамплеДирецтори3/тест-пнг.јпг ~/ТестДирецтори/СамплеДирецтори3/тест1.јпг ~/ТестДирецтори/СамплеДирецтори3/тест2.јпг

Да бисте сравнили садржај овог директоријума и поддиректоријума назад у фасциклу ТестДирецтори, користили бисте следећи командни низ:

пронађи ТаргетДирецтори/ -миндептх 2 -типе ф -екец мв -и '{}' ТаргетДирецтори/ ';'

Након што је садржај директоријума поравнат, требало би да изгледа овако када се наведе:

~/ТестДирецтори/рооти.јпг ~/ТестДирецтори/бета-тоол-превиев.јпг ~/ТестДирецтори/алпхабета-тоол.јпг ~/ТестДирецтори/тест-тоолс .јпг ~/ТестДирецтори/тест-пнг.јпг ~/ТестДирецтори/тест1.јпг ~/ТестДирецтори/тест2.јпг

Имајте на уму да ће поддиректоријуми и даље постојати, само ће бити празни. Има смисла? Ако не, или ако то не показује шта желите да постигнете, вероватно уопште не желите да изравнате директоријум, можда желите да спојите или користите исто да бисте направили сложену копију на другом месту.

Изравнавање структуре директоријума и хијерархије угнежђених датотека помоћу командне линије

Спремни да наставите? Командни низ који ћемо користити да изравнамо структуру директоријума и преместимо све датотеке из поддиректоријума у ​​базу циљног директоријума је следећи:

финд -миндептх 2 -типе ф -екец мв -и '{}' ';'

Замените директоријумом по свом избору да бисте изравнали, као што је приказано у примеру изнад.

Да, директоријум се појављује два пута у командном низу, први пут је директоријум који се претражује да би се изравнали поддиректоријуми, а други пут као одредиште за пронађене ставке.

Будите прецизни са наведеном дестинацијом, јер ово није реверзибилно (па, барем без пуно ручног рада са ваше стране), тако да урадите ово само ако сте апсолутно сигурни да желите да се преселите све датотеке у циљним директоријумима подређеним директоријумима назад у циљни основни директоријум.

Као што је раније поменуто, ово можете да урадите иу Финдер-у ОС Кс-а, или бар да посматрате промене фајлова и фасцикли у Финдер-у. Оптион+клик на мале стрелице у приказу листе отвара све поддиректоријуме, приказујући хијерархију фасцикли овако:

Након петљања са разним басх и зсх алтернативама, овај згодан трик је оставио коментатор на СтацкЕкцанге-у и на крају је постао најлакши и најкомпатибилнији метод. Ако знате за бољи начин да изравнате угнежђени директоријум, обавестите нас у коментарима!

Изравнајте угнежђени директоријум & хијерархију датотека из командне линије Мац ОС Кс-а