fswatch
fswatch एक निर्देशिका पर नजर रखने के लिए Mac OS X FSEvents API का उपयोग करके एक छोटा प्रोग्राम है। जब उस निर्देशिका में किसी भी परिवर्तन के बारे में एक घटना प्राप्त होती है, तो निर्दिष्ट शेल कमांड द्वारा निष्पादित किया जाता है/bin/bash
यदि आप GNU / Linux पर हैं, तो
inotifywatch ( inotify-tools
अधिकांश वितरण पर पैकेज का हिस्सा
) समान कार्यक्षमता प्रदान करता है।
अद्यतन: fswatch
अब बीएसडी, डेबियन और विंडोज सहित कई प्लेटफार्मों में उपयोग किया जा सकता है।
सिंटेक्स / एक सरल उदाहरण
नया तरीका जो कई पथ देख सकता है - संस्करण 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 के साथ स्थापना
9/12/13 के अनुसार इसे होमब्रे में वापस जोड़ा गया - yay! इसलिए, अपनी सूत्र सूची ( 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 कमांड लाइन टूल - दोनों मुफ्त में इंस्टॉल करने की आवश्यकता हो सकती है। हालाँकि, अगर ऐसा है, तो आपको शायद होमब्रे को देखना चाहिए ।
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.