1

NSTaskを介して次のfindコマンドを機能させようとしています。

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

ただし、パスの無視部分を機能させるのに問題があります。ターミナルでは正常に動作します。.gitディレクトリを除く過去24時間の変更されたファイルを取得します。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*"

'*.git*'それ以外の場合、findは(逐語的に)名前が付けられたファイルのみを無視します。ターミナルでコマンドを実行すると、シェルは一重引用符を削除することに注意してください。

于 2012-12-08T17:42:57.200 に答える