ディレクトリ内のファイルを分割し、新しく作成された別のディレクトリに移動します。

ディレクトリ内のファイルを分割し、新しく作成された別のディレクトリに移動します。

フォルダには1000個のファイルがあり、それぞれ100個のファイルに分割する必要があります。その後、この100個のファイルを自動的に作成された新しいフォルダに自動的に移動する必要があります。

このコマンドを使用してファイルを手動で移動します。

for file in $(ls -p | grep -v / | tail -100);
do 
mv "$file" NEWFOLDER;
done

ただし、単一のフォルダに約10,000個のファイルがある場合、これは非常に難しいでしょう。

答え1

私は答えを見つけましたhttps://stackoverflow.com/questions/10394543/need-a-bash-scripts-to-move-files-to-sub-folders-automatic

#!/bin/bash
c=1; d=1; mkdir -p NEWDIR_${d}
for jpg_file in *.jpg
do
  if [ $c -eq 100 ]
  then
    d=$(( d + 1 )); c=0; mkdir -p NEWDIR_${d}
  fi
  mv "$jpg_file" NEWDIR_${d}/
  c=$(( c + 1 ))
done

このコードを試してください

うまくいきます。テストしてみました。

関連情報