何年か前に書いたShell Script。
cutコマンドの使い方がすごい強引だったので、アップしてみます。
またどこかで使えるかも・・・
- ファイルを指定されたディレクトリ以下に移動する
- ファイル数が指定された数を越えないように、サブディレクトリに分割する
#! /bin/sh # mv_files.sh # ファイルを別ディレクトリに移動する # 指定ファイル数ごとにサブディレクトリを作成する FILE_NUM=30 TO_DIR=/work/mv_test/to_dir FROM_DIR=/work/mv_test/from_dir count=`find ${FROM_DIR} -type f | wc -l` until [ $count -eq 0 ]; do if [ $count -le $FILE_NUM ]; then n=$count else n=$FILE_NUM fi # フォルダ作成 dir_name=`date "+%Y%m%d%H%M%S%N"` mkdir "${TO_DIR}/${dir_name}" echo ${n} # ファイル移動 files=`find ${FROM_DIR} -type f | sort | cut -d " " -f 1-${n}` mv ${files} "${TO_DIR}/${dir_name}" count=`find ${FROM_DIR} -type f | wc -l` done
0 件のコメント:
コメントを投稿