我正在使用fswatch并且只想在具有扩展名的文件.xxx被修改/创建等时触发它.文档和下面的第二个参考表明:
问题:用于排除与扩展名不匹配的所有文件的正则表达式是什么.xxx?
我曾经像这样使用fswatch v0.0.2(在这个例子中,当文件改变时运行django test suit)
$>fswatch . 'python manage.py test'
这很好用.
我想排除一些导致测试每次保存运行多次的文件(Sublime文本正在保存.tmp文件,我怀疑.pyc文件也导致这种情况)
所以我升级了fswatch以启用-e模式.
然而fswatch改变的方式导致了我的麻烦 - 它现在接受一个像这样的管道参数:
$>fswatch . | xargs -n1 program
我无法弄清楚如何将参数传递给程序.例如,这不起作用:
$>fswatch . | xargs -n1 python manage.py test
这也不是:
$>fswatch . | xargs -n1 'python manage.py test'
如果不在bash脚本中打包我的命令,我怎么能这样做?
我正在尝试使用fswatch从linux bash脚本翻译以下行,以便能够在Mac OSX上运行它:
inotifywait -r -m 'myfolder/' | while read MODFILE
do
echo "something"
done
Run Code Online (Sandbox Code Playgroud)
由于inotifywait在Mac OSX上不起作用,我想用第一行代替FSWatch.尽管README引用了fswatch手册页,但它没有提供链接,并且在互联网上搜索并没有给我任何东西.所以我试着搞砸了一下.
我创建了一个名为的文件夹testfswatch/,我尝试在父文件夹中运行以下命令,然后在文件夹中添加和更改文件testfswatch/:
fswatch -o testfswatch/ | echo "LALA"
fswatch -o testfswatch/ | someSimpleProgram
fswatch -o testfswatch/ | xargs -n1 -I{} echo "LALA"
fswatch -o testfswatch/ | xargs -n1 -I{} ./someExecutable
fswatch -o testfswatch/ | xargs -n1 echo "LALA"
fswatch -o testfswatch/ | xargs -n1 someExecutable
// And more variations of the above
Run Code Online (Sandbox Code Playgroud)
当我在tesfswatch/文件夹中更改或添加文件时,这些命令似乎都没有做任何事情.
有谁知道我在这里做错了什么?欢迎所有提示!
我想在两个本地目录之间自动运行单向同步rsync.意味着在文件/dir1或其子目录中检测到更改时,应运行以下命令:
rsync -rtuv /dir1 /dir2
我怎样才能实现这个目标fswatch?
是否可以提供参数rsync以仅复制fswatch事件所给出的已更改的实际文件?
我通常喜欢在查看 git diff 的同时输入 git commit 消息。
我非常喜欢git 的这个小 perl 插件产生的输出,并产生如下所示的输出git diff(这是一个屏幕截图git log -p,但你明白了:

由于它突出显示了已更改的行的相应部分,因此很容易看出发生了什么变化。只是想分享这一点,因为它看起来不像很多人使用它,对我来说,它比使用外部单独的差异工具或类似的工具要好得多,因为这可以在终端上运行!一般来说,它比类似的东西更适合 unix-pipe,vimdiff尽管vimdiff在紧要关头也很方便。
无论如何,显示和讲述仅与这里的真正问题无关,即我可以设置一个终端窗口来显示 git diff,但要让它是动态的,以便当我保存文件它可以git diff为我刷新吗?基本上,这个想法是让终端窗口实时显示我将要提交的确切更改,这样我就可以直接从文本编辑器切换到输入命令,git commit同时读取整组更改,并且也可以通过 SSH 在 Linux 机器上实现此工作流程。
这将是一个非常棒的工作流程,我认为一点点 cmdline fu 就可以帮助我实现这一点,但我不太确定从哪里开始。看起来 OS X 和 Linux 需要单独的实现。我发现fswatch可能对我有用,显然它与 Linux 上的 inotify-watch 类似。我不应该只需要在我的 OS X 开发机器上进行此设置,但正如我之前提到的,通过 SSH 拥有此功能将是史诗般的。
还有其他快速而简单的 UNIXy 方法可以解决这个问题吗?
在OS X 10.10.1(Yosemite)上的Safari 8.0(10600.1.25.1)中,我访问了google.com,apple.com,facebook.com等网站,然后点击"Safari" - >"首选项"时可以看到cookie ..." - >"隐私" - >"详细信息......"
然后我完全退出Safari(实际上退出,而不仅仅是关闭窗口),并使用以下内容删除以下内容.
rm -r ~/Library/Caches/com.apple.Safari/
rm -r ~/Library/Cookies
rm -r ~/Library/Safari
当我重新启动Safari时,cookie仍然存在,我仍然登录到登录后存储cookie的网站.
我需要删除哪些文件,或者我需要做些什么才能让Safari实际删除cookie?
我需要能够移动/重命名文件/目录,然后在以后将它们移回.Cocoa Cookies可以删除cookie(http://ditchnet.org/cocoacookies/),当我使用fswatch时,没有任何有趣的文件会发生变化.
在 osx 中,我试图检测何时将新文件添加到文件夹中,然后执行脚本来处理该新文件。看起来很简单,对吧?
我正在这样做:
fswatch -0 ~/motion-detection | xargs -0 -n1 -I {} ./detectmotion.sh
Run Code Online (Sandbox Code Playgroud)
它将调用 shell 脚本 detectormotion.sh,其中包含:
echo "File added: " $1
Run Code Online (Sandbox Code Playgroud)
至少现在是这样。我只想将更改后的文件的文件名传递给 detectormotion.sh
我花 1 美元得到一个空白
谁能看到我在这里做错了什么吗?
提前致谢!
嗨,我正在尝试编写一个执行以下命令的shell命令:
fswatch ./src | xargs -I {} cp {} ./otherfolder
前两件事正在使用上面的命令,但是在此之后我无法弄清楚如何运行命令。
我试过了
fswatch ./src | xargs -I {} cp {} ./otherfolder && make
那不起作用,因为&&与我认为的xargs冲突
fswatch ./src | xargs -I {} cp {} ./otherfolder | make
在这里,make命令被立即调用,而不是在复制完成之后。(甚至在fswatch触发更改之前被调用)
使用xargs可以在cp之后运行命令吗?