自動的に(プログラミング方式で、強く打つスクリプト)は、フォルダの内容を親フォルダのあるサブフォルダに分割します。
たとえば、580個のファイル(同じサフィックスを含む)を持つフォルダがあり、それをたとえば同じ名前の6つのサブフォルダに分割し、すべての100個のファイルを保存しようとしますsubfolder1
(subfolder2
残りのファイルを含む最後のファイルを除く) 。または均等に分割する方が簡単です)。
ありがとう
答え1
zsh
代わりに使用してくださいbash
:
subfolders=( subfolder{1..6} )
files=( *(N.) )
n=100
while (( $#files && $#subfolders )); do
mkdir -p -- $subfolders[1] && mv -- $files[1,100] $subfolders[1]/
subfolders[1]=() files[1,100]=()
done
zmv
(zshの一括名前変更)を使用して循環方式に移動することもできます。
autoload -Uz zmv
subfolders=( subfolder{1..6} )
mkdir -p -- $subfolders
(n=0; zmv '*(#q.)' '$subfolders[n++ % $#subfolders + 1]/$f')