当我 fswatch mac 中的特定文件夹时,我被重命名为用于添加和删除文件夹中文件的文件

When i fswatch a particular folder in mac , i get renamed is file for both addition and deletion of files in folder

我正在 mac os 中通过命令行

监视特定文件夹
 fswatch -x /Users/syammala/folder

/Users/syammala/folder/posixGroup.xml Renamed IsFile

每当我添加或删除文件时,我总是重命名为文件。我想区分操作,当我添加和删除文件时

更新答案

正如您现在所阐明的那样,您正在使用 Finder移动和删除文件,这让事情变得更加复杂,因为当您使用 Finder 时,它会与垃圾箱交互,这与您使用 Finder 时不同使用终端和 Unix 命令。因此,当您在 Finder 中删除文件时,它 将文件重命名 到存储在 $HOME/.Trash.

中的垃圾桶中

因此,您实际上需要监控垃圾箱以及您打算像这样监控的任何地方:

fswatch -x FolderA $HOME/.Trash

然后你会看到发生的一切。

或者,禁用垃圾桶 - 我很欣赏这可能是不可接受的但是你没有提供你的环境的太多细节,所以我不知道。

要禁用垃圾桶,请删除 $HOME/.Trash 目录及其所有内容,然后创建一个名为 $HOME/.Trash 的文件,这样 OSX 就无法在那里重新创建它心爱的垃圾桶。 不懂就不要做!

cd
rm -rf .Trash
touch .Trash

要稍后重新启用垃圾箱,请执行以下操作:

cd
rm .Trash

原答案

你可以用数字标志来做。

如果你这样做:

touch FreddyFrog
rm FreddyFrog

touch BozoBrains
mv BozoBrains SillyBilly
rm SillyBilly

你可以这样监控

fswatch -xn `pwd`
/Users/mark/tmp/FreddyFrog 514     # touch FreddyFrog
/Users/mark/tmp/FreddyFrog 520     # rm FreddyFrog

/Users/mark/tmp/BozoBrains 514     # touch BozoBrains
/Users/mark/tmp/BozoBrains 528     # mv BozoBrains SillyBilly
/Users/mark/tmp/SillyBilly 528     # mv BozoBrains SillyBilly
/Users/mark/tmp/SillyBilly 520     # rm SillyBilly