问题标签 [fswatch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - fswatch + rsync 替代或更好的实现
我正在尝试查看一个文件夹及其子文件夹以了解文件中的任何更改(HTML/CSS/JS/Etc)。文件更改后,我想将其从远程服务器上传到已安装的驱动器。目前,我在终端中使用它:
rsync_files.sh:
想法是每次文件结构发生变化时 fswatch 都会调用 rsync 。它可以工作,但是非常慢,尤其是在糟糕的连接上。
我的问题是,我这样做是对的还是对于我想要完成的事情有更好的解决方案?我的 rsync 命令可以更好地优化吗?是否已经制作了可以为我做这件事的应用程序?
基本上我想模仿 Dreamweaver 2014 中的文件面板,而不必使用 Dreamweaver。我的设置是 Sublime Text 3 和 Codekit 2。
macos - 使用 fswatch 监视目录
我正在使用 fswatch 监视目录并在将视频文件复制到该目录时运行脚本:
问题是在执行脚本之前文件通常没有完成其副本。这些文件是不同大小的视频文件。小文件可以,大文件不行。
如何延迟 fswatch 通知,直到文件完成复制?
macos - 当文件夹中没有写入活动时通知的任何脚本
我正在尝试想出一种简单易用的方法来检测我想查看的文件夹中何时没有任何写入活动。
基本上,我想要的是这样的:
但我认为需要各种 bash 魔法,因为 fswatch 是一项后台任务,并且通过管道传输其输出会创建一个子shell。我还需要一些计时器逻辑......我在想类似 setTimeout 的东西,当有活动时,它的时间参数会不断添加到其中,但我不知道如何在一个脚本中全部编写。
Bash、Python、Ruby,任何可以在 OSX 上使用 homebrew 安装的东西都很好,但越简单越好(所以我明白发生了什么)。
macos - 当我在 mac 中查看特定文件夹时,我被重命名为用于添加和删除文件夹中文件的文件
我通过在命令行中给出监视 mac os 中的特定文件夹
/Users/syammala/folder/posixGroup.xml 重命名为 IsFile
每当我添加或删除一个文件时,我总是被重命名为文件。当我添加和删除文件时,我想区分操作
fswatch - 我想在 Mac 上用 fswatch 观看多个文件夹
我在 fswatch 的文档中看到了它,$ fswatch -0 [opts] [paths] | xargs -0 -n 1 -I {} [command]
但我真的不明白我应该如何添加多个路径 - 我正在观看两条路径lib
和test
. 我试过:
fswatch -r lib,test
, fswatch -r lib test
, 最后fswatch -r [lib test]
我如何使用 fswatch 同时观看多个路径?
macos - 如何使用 fswatch 和 rsync 自动同步目录?
我想在两个本地目录之间自动运行单向同步,使用rsync
. 这意味着当在文件/dir1
或其子目录中检测到更改时,应运行以下命令:
rsync -rtuv /dir1 /dir2
我怎样才能实现这一目标fswatch
?
是否可以提供参数rsync
以仅复制事件给出的已更改的实际文件fswatch
?
macos - fswatch 仅查看某个文件扩展名
我正在使用fswatch
并且只希望在修改/创建带有扩展名的文件等时触发它.xxx
。下面的文档和第二个参考表明:
- 默认情况下接受所有路径,除非排除过滤器另有说明。
- 包含过滤器可以覆盖任何排除过滤器。
- 命令行中过滤器定义的顺序没有影响。
问题:用于排除所有与扩展名不匹配的文件的正则表达式是什么?.xxx
参考:
平台:
- macOS 10.9.5。
linux - 在使用 xargs 和 fswatch 的命令之后运行命令
嗨,我正在尝试编写一个 shell 命令来执行以下操作:
- 看文件夹
- 当文件更改时,将新文件复制到某处
- 然后运行一个 make 任务
fswatch ./src | xargs -I {} cp {} ./otherfolder
前两件事正在使用上面的命令,但我不知道如何在此之后运行命令。
我试过了
fswatch ./src | xargs -I {} cp {} ./otherfolder && make
这不起作用,因为我认为 && 与 xargs 冲突
fswatch ./src | xargs -I {} cp {} ./otherfolder | make
这里立即调用 make 命令,而不是在复制完成之后。(它甚至在 fswatch 触发更改之前调用)
是否可以在 cp 之后使用 xargs 运行命令?
linux - 如何打印导致 fswatch 执行某些操作的文件路径
我使用fswatch在文件更改时采取一些措施。我使用以下命令:
这很好用,如果我更改几个文件,我会在终端中看到以下内容:
但我也想知道哪个文件实际上导致了这个动作。所以我检查了 fswatch 手册页,它显示了以下内容:
但正如我所说,我的终端中没有列出任何内容。有谁知道我如何显示“受当前事件影响的路径。 ”?
欢迎所有提示!
bash - 如果文件存在,则停止监视文件夹以进行更改 (bash)
我fswatch
用来跟踪对目录的更改,但如果某个文件存在(使用通配符),我希望这个过程停止。这个特定文件是由另一个进程(正在生成需要跟踪的更改)在替代目录(而不是跟踪目录)中创建的。
这是我试图做的:
但是,此脚本在出现后不会终止${file_to_check}
。
条件中的复杂位是按照以下方式处理通配符:Bash check if file exists with double bracket test and wildcards
编辑:
复杂位可以简化为: