web-dev-qa-db-ja.com

agを使用して特定の拡張子を持つファイル内のテキストを検索するにはどうすればよいですか?

agThe Silver Searcher )バージョン0.31.0を使用しています。私は簡単に次のコマンドを使用してファイルの束から文字列を探すことができます。

localhost:workspace davea$ ag 'ftp' .

しかし、特定の拡張子を持つファイルのみをスキャンしたい場合はどうなりますか?私はこれを試しました:

localhost:workspace davea$ ag 'ftp' .Java
ERR: Error stat()ing: .Java
ERR: Error opening directory .Java: No such file or directory

しかし、上記のエラーが発生しました。

26
Dave

マニュアルによると、ag-Gを併用できます

   -G --file-search-regex PATTERN
          Only search files whose names match PATTERN.

例えば.

ag -G '\.Java$' 'ftp' .

同じマニュアルごと

   It is possible to restrict the types of files searched [...]
   For a list of supported types, run ag --list-file-types.

だからあなたも走ることができます

ag --Java 'ftp' .

ただし、検索は.Javaまたは.propertiesで終わるファイル名に制限されます

33
don_crissti

ag version 2.2.0以降、ag --list-file-typesを実行できます。これにより、サポートされている標準のタイプがリストされます。 ag "ftp" --Javaを実行して、さまざまなJavaファイルのみを検索できます。

1
mxplusb