使用ack(有时打包为ack-grep)我知道我可以通过执行以下操作找到包含特定字符串的路径:
ack -g somestring
但是,如果我只想要文件名中包含"somestring"的文件呢?
use*_*650 46
我同意find是要走的路,但你也可以用ack轻松完成:
ack -f | ack "string"
Run Code Online (Sandbox Code Playgroud)
这里,"ack -f"递归地列出它将搜索的所有文件; 管道到第二个ack命令来搜索它.ack -f确实具有跳过二进制文件和目录的优势,即使没有任何更多的参数; 通常,"查找"命令可以用更短的"确认"命令代替.
dme*_*sky 23
你可以使用find实用程序.像这样的东西:
find /path/to/look/in -name '*somestring*' -print
Run Code Online (Sandbox Code Playgroud)
在某些系统上,如果省略路径,则使用当前目录.在其他系统上,您无法省略它,只需使用.当前目录.
此外,阅读man find许多其他选项.
如果您希望用于ack查找somestring其基本名称中的所有文件,只需添加[^/]*$到正则表达式,例如,
ack -g somestring[^/]*$
Run Code Online (Sandbox Code Playgroud)
不幸的是,--color会显示匹配从somestring文件名结尾; 但是可以做你要求使用的东西ack.
| 归档时间: |
|
| 查看次数: |
12318 次 |
| 最近记录: |