我使用fswatch在文件更改时执行某些操作。我使用以下命令:
fswatch -o -r '.' | while read MODFILE
do
echo 'Some file changed, so take some action'
done
这样可以正常工作,如果我更改了几个文件,我会在终端中看到以下内容:
Some file changed, so take some action
Some file changed, so take some action
Some file changed, so take some action
etc.
但我也想知道哪个文件确实导致了这个动作。所以我查看了fswatch手册页,其中显示了以下内容:
fswatch writes a record for each event it receives containing:
- The timestamp when the event was received (optionally).
- The path affected by the current event.
- A space-separated list of event types (see EVENT TYPES ).
但是如上所述,我看不到终端中列出的任何内容。有没有人知道我如何展示" 受当前事件影响的路径。"?
欢迎所有提示!
答案 0 :(得分:2)
当然,请使用:
<div>
<div class="container level1">
<div class="container level2">
<div class="container level3">
<div class="container level4">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
</div>
如果要在列表中保存受影响文件的名称,可以这样做:
fswatch --batch-marker=EOF -xn . | while read file event; do
echo $file $event
if [ $file = "EOF" ]; then
echo TRIGGER
fi
done