[解決済み】Macで「watch」や「inotifywait」のようなコマンドはないのでしょうか?
質問
Mac (Snow Leopard) でフォルダを監視して、スクリプトを実行したいのですが、フォルダに移動したばかりのファイル名(パラメータとして... x.sh "filename") を与えてもいいでしょうか?
私はbashで書かれたスクリプト(x.sh)を持っていて、入力でいくつかのファイルや他のものを移動させます$1私はただ、新しいファイル/フォルダがディレクトリに移動/作成されたときにOSXが私にファイル名を与える必要があります。
そのようなコマンドはありますか?
解決方法は?
スウォッチ
スウォッチ
は、Mac OS X FSEvents API を使って、あるディレクトリを監視する小さなプログラムです。
そのディレクトリへの何らかの変更に関するイベントを受信すると,指定された
でシェルコマンドを実行します。
/bin/bash
GNU/Linuxなら。
イノティファイウォッチ
(の一部)。
inotify-tools
パッケージは、ほとんどのディストリビューションで
という機能があります。
更新しました。
fswatch
が、BSD、Debian、Windowsを含む多くのプラットフォームで使用できるようになりました。
構文 / 簡単な例
複数のパスを見ることができる新しい方法 - for バージョン 1.x 以降 :
fswatch -o ~/path/to/watch | xargs -n1 -I{} ~/script/to/run/when/files/change.sh
で出力される数値は
-o
の末尾に追加されます。xargs
コマンドがなければ-I{}
. その番号を使用する場合は、次のようにします。{}
をコマンドのどこかに記述してください。
の古い方法は バージョン0.x :
fswatch ~/path/to/watch ~/script/to/run/when/files/change.sh
Homebrewによるインストール
2013年9月12日現在、再び追加されたのは
ホームブリュー
- やったー というわけで、数式リストを更新して(
brew update
)を作成し、あとはやるだけです。
brew install fswatch
Homebrewを使用しないインストール
でこれらのコマンドを入力します。
Terminal.app
cd /tmp
git clone https://github.com/alandipert/fswatch
cd fswatch/
make
cp fswatch /usr/local/bin/fswatch
がない場合は
c
コンパイラをインストールするには、Xcode または Xcode コマンドラインツール (どちらも無料) をインストールする必要があるかもしれません。どちらも無料です。しかし、もしそうであれば、おそらく
homebrewをチェックアウトする
.
の追加オプション
fswatch
バージョン1.x
Usage:
fswatch [OPTION] ... path ...
Options:
-0, --print0 Use the ASCII NUL character (0) as line separator.
-1, --one-event Exit fsw after the first set of events is received.
-e, --exclude=REGEX Exclude paths matching REGEX.
-E, --extended Use exended regular expressions.
-f, --format-time Print the event time using the specified format.
-h, --help Show this message.
-i, --insensitive Use case insensitive regular expressions.
-k, --kqueue Use the kqueue monitor.
-l, --latency=DOUBLE Set the latency.
-L, --follow-links Follow symbolic links.
-n, --numeric Print a numeric event mask.
-o, --one-per-batch Print a single message with the number of change events.
in the current batch.
-p, --poll Use the poll monitor.
-r, --recursive Recurse subdirectories.
-t, --timestamp Print the event timestamp.
-u, --utc-time Print the event time as UTC time.
-v, --verbose Print verbose output.
-x, --event-flags Print the event flags.
See the man page for more information.
関連
-
[解決済み] OS X の cp コマンドをターミナルで実行 - そのようなファイルまたはディレクトリはありません。
-
[解決済み] Yeomanインストール後の「yo: コマンドが見つかりません」を修正する方法
-
[解決済み] DYLD: レイジーシンボル
-
[解決済み] MacOsでdockerを簡単にインストール、アンインストールする方法
-
[解決済み] zsh で $PATH 変数のアサーションをどこに置くか?
-
[解決済み] gdbが「プロセスIDのMachタスクポートが見つからない」というエラーで失敗する
-
[解決済み] Mac OSでNode.jsを最新バージョンにアップグレードする。
-
[解決済み] "コード" OSX/MacのVisual Studio Codeのコマンドラインでは動作しない
-
[解決済み] homebrewのパーミッションを修正する方法は?
-
[解決済み] OS X Bash, 'watch' コマンド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] OSX Mavrerick で mvn コマンドが見つかりません。
-
[解決済み] Virtualbox が errorID=BLKCACHE_IOERR を返す
-
[解決済み] DOCKER_HOST 変数の役割は何ですか?
-
[解決済み] cmake 既存のソースから Xcode プロジェクトを生成する
-
[解決済み] .git/index.lock' を削除してください。パーミッションが拒否されました。
-
[解決済み] Mac OSXで、TortoiseSVNに相当するものは何ですか?[クローズド]
-
[解決済み] Macでvscodeを完全にアンインストールする方法
-
[解決済み] Macにsshpassをインストールする方法は?
-
[解決済み] homebrewのパーミッションを修正する方法は?
-
[解決済み] Chromeで、htmlファイルの変更を保存するときにブラウザを自動再読み込みしますか?