Skip to content

Instantly share code, notes, and snippets.

@watr
Created January 26, 2016 05:05
Show Gist options
  • Save watr/6b63ca24c3d87d8fe5c6 to your computer and use it in GitHub Desktop.
Save watr/6b63ca24c3d87d8fe5c6 to your computer and use it in GitHub Desktop.
remove image files on added
#! /bin/sh
exec ruby -S -x "$0" "$@"
#! ruby
require 'fssm'
specified_path = ARGV[0]
# 渡されたパラメータがあれば、それを監視対象のディレクトリにする。
# なければ、ワーキングディレクトリを監視対象にする。
path_to_watch = File::expand_path((specified_path.nil? ? "" : specified_path))
# 画像ファイルの判別する拡張子
image_file_extensions_default = ['jpeg', 'jpg', 'nef', 'tiff', 'tif', 'png', 'gif']
print "watching: ", path_to_watch, "\n"
pattern = "**/*." + "{" + image_file_extensions_default.join(",") + "," + image_file_extensions_default.map(&:upcase).join(",") + "}"
#puts pattern
# 監視対象のディレクトリと、ファイル名のマッチングに使うパターンを指定する。
# パターンに一致したファイルに変更があった場合にだけ処理が呼び出される
FSSM.monitor(path_to_watch, pattern) do
# ファイル/ディレクトリ create されたときに呼び出される
create do | base, file |
file_full_path = File.join(base, file)
begin
print "delete: ", file_full_path, "\n"
File.unlink file_full_path
rescue
print "deletion failed\n"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment