3

etags ファイルを作成しようとしています。ルート ディレクトリにサブディレクトリがあり、その中に「cpp」という名前のディレクトリを配置できるようなプロジェクト構造があります。例えば:

root
 - sub1
  - cpp
 - sub2
  - sub21
   - cpp
   - csharp

したがって、通常のプロジェクトでは、通常次のようなものです: find 。-type f ( -iname ' .cpp' -o -iname ' .hpp' -o -iname ' .c' -o -iname ' .h' -o -iname ' .cc ' -o -iname ' .hh' ) -印刷 | xargs etags -a

csharp、objective c などの可能性のあるファイルも取得するため、これはもう機能しません...

だから私が達成しようとしているのは、cpp と呼ばれるサブディレクトリ内のファイルを返すだけにすることです。では、どうすればそれを行うことができますか?

ありがとう ...

4

2 に答える 2

4

ネストされたfindものがあなたのために働くかもしれません

find . -type d -name "cpp" -exec find {} -type f \;
于 2013-06-14T09:33:04.553 に答える
4

またはもっと簡単に (cpp ディレクトリにそれ以上のサブディレクトリがないと仮定します:

find . -type f -path "*/cpp/*"

これにより、 からの相対パス全体が返されます。ただし、さらにトリミングが必要になる場合があります:/

于 2014-01-21T08:44:56.863 に答える