1

我试图让以下 find 命令通过 NSTask 工作:

find /Users/user/projects ! -path '*.git*' -ctime -1

但是,我无法让忽略路径部分正常工作。在终端它工作正常。我得到了过去 24 小时的修改文件,不包括 .git 目录。使用 NSTask 时,.git 目录不会被忽略,导致太多的积极因素......我正在使用以下参数:

NSArray *args = @[@"/Users/user/projects", @"!", @"-path", @"'*.git*'", @"-ctime", @"-1"];

有人知道我做错了什么吗?

4

2 回答 2

2

您可能还会发现这样做更容易。

NSString *argString = @"/Users/user/projects ! -path '*.git*' -ctime -1";
[nsTaskName setArguments: [argString componentsSeparatedByString: @" "]];

当你在终端中调试你的参数时,你可以做一个复制和过去并在它前面添加'find'。

于 2013-01-21T06:24:12.933 回答
1

我认为你必须替换论点

@"'*.git*'"

经过

@"*.git*"

否则 find 将仅忽略命名'*.git*'(逐字)的文件。请注意,当您在终端中执行命令时,shell 会删除单引号。

于 2012-12-08T17:42:57.200 回答