ackを使用してファイル名を検索する方法


15

私はgrepよりもずっと速いackを使い始めました。ただし、ackを使用して、ファイルの内容ではなくファイル名を検索します。それを行う方法はありますか?

回答:


16

適切なジョブに適切なツールを使用します。ファイル名を検索する場合は、「find」を使用します。

$ # search for all *.txt file in current directory
$ find . -iname "*.txt"

1
本当です。「ハンマーを手に持ったら、すべてが釘のように見え始めます」:)
akira

2
ええと、ack(およびgrep)は、必要な場合を除き、正規表現について明示する必要がないため、より優れています。私は通常、ただやるfind . | ack whatev.ext
15:49にEhtesh Choudhury

これはディレクトリの検索にも有効です。
プラティックハドローヤ

1
ackはデフォルトで多くの結果(バージョン管理ディレクトリのコンテンツ、ソースリポジトリ内のコンパイル済みオブジェクト)をフィルターで除外するため、findとackの動作は異なります。最高のハンマーは、希望する結果に依存します。
ジョシュアゴールドバーグ

1
これは質問に答えていません
...-lajarre


7

* .txtファイルのみを検索する場合は、findを使用するのが理にかなっていることに同意します。ただし、ackには強力なファイルタイプの検出機能があるため、次を使用できます。

ack -f --perl

ファイル名(* .pm、*。pl、*。tおよび* .pod)とshebang行の両方に基づいて、すべてのPerlファイルを検索します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.