スクリプトの例を次に示します。ファイルを移動する行のコメントを解除する前に、DESTINATIONディレクトリを適切に設定する必要があります。そうしないと、それらを望ましくない場所に移動してしまう可能性があります。
ターミナルで、以下のスニペットを保存する場所にcdし、次のコマンドを実行して実行します。
準備作業:
- cd / save / location
- chmod + x file_mover.sh#ファイルを実行可能にします
ジョブをスケジュールします。
- crontab -e
- * / 10 * * * * /path/to/file_mover.sh
- crontab -l#スケジュールされたジョブのリストを表示
いくつかの小さな調整を加えることで、これにCLIオプションを受け入れるようにすることができます。
#!/bin/bash
# files to skip
REGEX='^TRACK'
# location to move the files
DESTINATION=/tmp/mydir
# directory to read from
# PWD is the working directory
TARGET=${PWD}
# make the directory(ies) if it doesn't exists
if [ ! -f ${DESTINATION} ]; then
mkdir -p ${DESTINATION}
fi
# get the collection of files in the
for FILE in $( ls ${TARGET} )
do
# if the current file does not begin with TRACK, move it
if [[ ! ${FILE} =~ ${REGEX} ]]; then
echo ${FILE}
# SET THE DESTINATION DIRECTORY BEFORE UNCOMMENTING THE LINE BELOW
# if [ -f ${FILE} ]; then # uncomment if you want to
# ensure it's a file and not a directory
# mv ${FILE} ${DESTINATION} # move the file
# fi # uncomment to ensure it's a file (end if)
fi
done