ack + grep 之类的工具(问题)

ack + grep 之类的工具(问题)

我使用 ack 工具在文件系统中查找字符串或 IP 地址

但请参阅以下内容

为什么在 /etc/sysconfig/* 下找不到 IP = 10.45.45.130

IP = 1:10.45.45.130 存在于 uoo 文件的网络目录下

莉迪亚

./ack -r 10.45.45.130  /etc/sysconfig/*
   <not get anything?>

./ack -r 10.45.45.130  /etc/sysconfig/network/*
 /etc/sysconfig/network/uoo
 1:10.45.45.130

uoo 文件示例

 more /etc/sysconfig/network/uoo
 10.45.45.130

答案1

你试过了吗 ' ack -a'?

BetterThanGrep

-a, --all-types 搜索所有文件类型;

选项-r不是必需的(据我所知)默认行为是递归的。
要关闭递归,请使用“ -n”选项。

现在,要检查 ' -a' 是否对您有帮助,请尝试使用 ' ' 选项(而不是 ' ' 选项)
执行命令。 然后使用 ' ' 选项再次尝试。-l-r
-L

您将根据'uoo' 文件在搜索结果中出现的位置来弄清楚发生了什么。

以下是发生的事情,

-l,--匹配的文件
                        仅打印包含匹配项的文件名
-L, --无匹配文件
                        仅打印没有匹配的文件名

因此,如果您的文件没有出现在其中任何一种形式中,您需要添加“ -a”选项
ack比更强大,grep但也有点棘手)。

答案2

默认情况下,ack 会将文件类型列入白名单。如果 ack 认为文件不属于特定类型,则会忽略该文件。

Ack 实际上是程序员的工具,而不是系统管理员的工具。

相关内容