Mam ten ogromny folder z tysiącami nieuporządkowanych plików. Czy możliwe jest przeniesienie pierwszych 5000 do podfolderu za pomocą mv
polecenia? Na razie przenoszę pliki za pomocą
mv *some_pattern* ./subfolder1/
Na razie przesuwam obrazy dość losowo, nie jest tak naprawdę ważne, jeśli w każdym podfolderze nie ma dokładnie 5000 plików. Czy jest na to lepszy sposób?
shell
command-line
shell-script
wildcards
Fabinout
źródło
źródło
Odpowiedzi:
źródło
-
lub.
i i zakładającsubfolder1
, że nie pojawia się na tej liście.)$ sudo mv `ls | head -50000` 01/ sudo: unable to execute /bin/mv: Argument list too long
Z
zsh
:Aby przenieść do 5000 zwykłych plików w kolejności, w jakiej znajdują się w katalogu.
Dla pierwszych 5000 na liście posortowanej leksykograficznie:
Jeśli pojawi się błąd dotyczący listy arg za długo . Możesz użyć polecenia
zsh
buitinmv
, wydając:pierwszy.
POSIXly:
źródło
Wersja, która jest prosta i obsługuje specjalne znaki, spacje itp.
Aby to działało tak, jak jest,
dir2
musi istnieć i należy go wykonać z katalogu nadrzędnegodir1
idir2
.Spowoduje to przeniesienie 1000 plików z katalogu 1 do katalogu 2.
źródło
ls -Q -S dir1 | head -1000 | xargs -i mv dir1/{} dir2/
do przenoszenia 1000 największych plików w katalogu 1 (-S wyświetla plik według rozmiaru)ls -Q
nie produkuje danych wyjściowych zgodnych zxargs
oczekiwanym formatem wejściowym. Pomaga w nazwach plików zawierających znaki spacji, ale nie w przypadku podwójnych cudzysłowów lub ukośników odwrotnych i szkodzi nazwom plików zawierającym znaki sterujące, w tym TAB.Może być konieczne zrobienie czegoś takiego:
Ten skrypt działa w wersjach bash, ksh, sh i wielu wariantach UNIX.
źródło
destination
, że nie pojawia się na tej liście.)uruchom poniżej polecenia
W
find
poleceniu.
(kropka) oznacza bieżący katalogznajdzie pliki, które zaczynają się od Hello, a kończą na gz, pierwsze 5000 plików zostanie przeniesionych na ścieżkę
/data01/path/
źródło
Udało mi się wykonać ruch 50 000 bez błędu mv bash
Zabawne, że był to udział samby, więc limit 50 KB wynika z tego, że GUI Eksploratora Windows nie lubi więcej niż 60 000 plików w reż.
źródło