Тебя привлекло это название, не так ли? ЛОЛ.
Проблема: у меня много папок, в которых есть папка, с файлами внутри. Я хочу переместить файлы 2-го уровня на 1-й уровень и сделать это, не зная их имен.
Графически вот что я хочу:
Текущий:
new
└── temp
    ├── Folder1
    │   ├── SubFolder1
    │   │   └── SubTest1.txt
    │   └── Test1.txt
    ├── Folder2
    │   ├── SubFolder2
    │   │   └── SubTest2.txt
    │   └── Test2.txt
    └── Folder3
        ├── SubFolder3
        │   └── SubTest3.txt
        └── Test3.txt
Желаемая:
└── temp
    ├── Folder1
    │   ├── SubFolder1
    │   ├── SubTest1.txt
    │   └── Test1.txt
    ├── Folder2
    │   ├── SubFolder2
    │   ├── SubTest2.txt
    │   └── Test2.txt
    └── Folder3
        ├── SubFolder3
        ├── SubTest3.txt
        └── Test3.txt
Если кто-то хотел получить фантазию, что мне не нужно делать, так как позже в моем скрипте я удаляю пустые файлы, но стоит упомянуть на тот случай, если я смогу узнать еще больше:
└── temp
    ├── Folder1
    │   ├── SubTest1.txt
    │   └── Test1.txt
    ├── Folder2
    │   ├── SubTest2.txt
    │   └── Test2.txt
    └── Folder3
        ├── SubTest3.txt
        └── Test3.txt
Я подхожу очень близко, но мне чего-то не хватает, и я уверен, что это просто / глупо. Вот что я бегу:
 find . -mindepth 3 -type f -exec sh -c 'mv -i "$1" "${1%/*}"' sh {} \;
Вот что меня заводит:
mv: './1stlevel/2ndlevel/test.rtf' and './1stlevel/2ndlevel/test.rtf' are the same file
На переполнении стека Джордж приблизил меня, дав мне:
find . -mindepth 4 -type f -exec mv {} ./*/* \; 
так же как:
mv ./*/*/*/* ./*/*
Команда mv - это, безусловно, путь, поскольку он чище и намного, намного быстрее. Но, увы, хотя он отлично работает с одной папкой, несколько папок превращают это в:
new
└── temp
    └── Folder3
        ├── Folder1
        │   ├── SubFolder1
        │   └── Test1.txt
        ├── Folder2
        │   ├── SubFolder2
        │   └── Test2.txt
        ├── SubFolder3
        ├── SubTest1.txt
        ├── SubTest2.txt
        ├── SubTest3.txt
        └── Test3.txt
Итак, я все ближе, но не совсем там. Какие-либо предложения? Заранее спасибо!
