0

ここ数日、パターン (*-stack.txt など) に基づいてファイルを検索する方法を探していましたが、その方法を見つけるのに非常に苦労していました。誰かがこれを行う方法を知っているかどうか疑問に思っていましたか? Googleなどでも検索しましたが、実際に役立つものは何も見つかりませんでした:/これは、Linuxディレクトリで特定のパターンに一致するファイルを検索するのに役立ちます

(ディレクトリプラスアウトの例)

/dev/shm/123-stack.txt abc-stack.txt overflow-stack.txt

searching for *-overflow.txt would return all of the above files 
4

2 に答える 2

1

あなたの最善の策はおそらくglob(3)です。それはあなたが望むことをほぼ正確に行います。あなたが言ったことから、適切なコードのスケッチは

char glob_pattern[PATH_MAX];
glob_t glob_result;
snprintf(glob_pattern, PATH_MAX, "%s/%s", directory, file_pattern);
glob(glob_pattern, 0, NULL, &glob_result);
for (size_t i = 0; i < glob_result.gl_pathc; ++i) {
  char *path = glob_result.gl_pathv[i];
  /* process path */
}
于 2012-05-22T03:55:01.487 に答える
0

この質問opendirで説明されているように、システムコールを使用する必要があると思います。

しかし、それに加えてもっと多くの作業が必要になるでしょう-したがって、より高水準の言語はより良いインターフェースを提供します。

于 2012-05-22T02:42:43.703 に答える