Ogólna konfiguracja
-root-dir<br>
---dir-tar<br>
---file<br>
---dir<br>
------dir<br>
------file<br>
---dir<br>
------dir<br>
------fil<br>
Polecenie, które wykonałem:
find ./dir -type f -iname "*" -exec mv {} --target-directory=dir-tar /;
Byłem w root-dir
(uwaga: katalog-tar znajduje się w katalogu root-katalog)
Problem
Nie przeniesiono żadnych podkatalogów. Wszystkie pliki są teraz wymienione dir-tar
bez podkatalogów (w zasadzie niezorganizowany bałagan!)
Każda pomoc jest doceniana. Czy są jakieś informacje o tym, co poszło gdzie? Próbowałem ls -lrt
spojrzeć na daty lub godziny, ale nie ma prawdziwego wzorca, aby je złożyć.
Każda pomoc jest mile widziana. Dzięki.
Odpowiedzi:
Cóż, find zrobił to, o co prosiłeś. Znalazł każdy plik i przeniósł każdy plik. Chyba, że masz jakieś odniesienie (kopia zapasowa, archiwum). Uważam, że przywrócenie oryginalnej struktury jest prawie niemożliwe, ponieważ o ile wiem, systemy plików nie mają opcji odwrotnej do przenoszenia plików.
W przyszłości rozsądne może być przygotowanie „echa” polecenia, aby zobaczyć, co się stanie przed jego wykonaniem. W tym konkretnym przypadku to, co chciałeś zrobić, można osiągnąć za pomocą
mv dir/* tar-dir
:źródło