コード ベースの検索にACKを使用してきましたが、これは素晴らしいツールです。ただし、(私の意見では) 重要な制限が 1 つあります。正規表現の複数行の一致は許可されません。
その制限を克服するために、特定の式を含む一連のファイルをフィルター処理してから、2 番目の式を探して再度フィルター処理したいと思います (両方の式が同じ行にない可能性が高いと仮定して)。次のコマンドを実行しようとしましたが、成功しませんでした (何も返されません)。
ack -l --type=java "(List|Collection|Map|Set)" | ack --type=java "String"
そしてgrep
、.cvsディレクトリ、.svnディレクトリなどを無視して、検索をJavaファイルに制限したいので、使用したくありません(ack
デフォルトで何かが行われます)何かアイデアはありますか?