Ack / Agは*がないと検索結果を返しません。

Ack / Agは*がないと検索結果を返しません。

ディレクトリ内のテキストを検索しようとしましたが、次の構文が結果を返さないことがわかりました。

ack -i "0xabcdef" ./

ack -i "0xabcdef"

ack -i "0xabcdef" .

次のコマンドが有効な場合

ack -i "0xabcdef" *

なぜこれが起こるのか説明できますか?ポイントは何ですか*?私もディレクトリにシンボリックリンクがあることに気づきました。

答え1

確認するためにディレクトリを指定する必要はありません。デフォルトでは、現在のディレクトリにドリルされます。

また、ディレクトリにシンボリックリンクがあることを確認しました。

man ackその場合、最良の方法はマニュアル(または)を確認しack --manて「リンク」を検索することです。最初に目立つのはこのオプションです。

   --[no]follow
       Follow or don't follow symlinks, other than whatever starting files
       or directories were specified on the command line.

       This is off by default.

これは、ackにシンボリックリンクをたどるためにこの--followオプションを指定する必要があることを意味します。

関連情報