我使用 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
'?
-a, --all-types 搜索所有文件类型;
选项-r
不是必需的(据我所知)默认行为是递归的。
要关闭递归,请使用“ -n
”选项。
现在,要检查 ' -a
' 是否对您有帮助,请尝试使用 ' ' 选项(而不是 ' ' 选项)
执行命令。 然后使用 ' ' 选项再次尝试。-l
-r
-L
您将根据'uoo
' 文件在搜索结果中出现的位置来弄清楚发生了什么。
以下是发生的事情,
-l,--匹配的文件 仅打印包含匹配项的文件名 -L, --无匹配文件 仅打印没有匹配的文件名
因此,如果您的文件没有出现在其中任何一种形式中,您需要添加“ -a
”选项
(ack
比更强大,grep
但也有点棘手)。
答案2
默认情况下,ack 会将文件类型列入白名单。如果 ack 认为文件不属于特定类型,则会忽略该文件。
Ack 实际上是程序员的工具,而不是系统管理员的工具。