我正在尝试搜索目录中的文本,结果发现以下语法不会返回任何结果
ack -i "0xabcdef" ./
ack -i "0xabcdef"
ack -i "0xabcdef" .
,而以下命令有效
ack -i "0xabcdef" *
有人可以解释为什么会这样吗? *的意义是什么?我还注意到该目录有符号链接
答案 0 :(得分:1)
您不必指定ack目录。默认情况下,它会深入研究当前目录。
我还注意到该目录有符号链接
然后,最好的办法是查看手册(man ack
或ack --man
)并搜索" link"。你会发现的第一件事就是这个选择:
--[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
选项。