何年か前に書いた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 件のコメント:
コメントを投稿