2012-06-27 43 views
1

可以使用ack搜索Smarty模板文件(.tpl)中的内容吗?ack搜索Smarty TPL模板文件内的内容

目前我只能在这些模板的缓存版本中搜索,这些模板本身就是PHP文件。

如果我做一个不区分大小写的ack搜索这样的下面,这是返回什么:

[[email protected] dev_crmpicco]$ ack -i select\ the\ course 
cache/templates/gb/%%9B^9B3^9B37B147%%course.tpl.php 
48:        <p><label>Select the course:</label></p> 
64:        <p><label>Select the course:</label></p> 
83:        <p><label>Select the course:</label></p> 

回答

3

这听起来像你问的是“我如何获得ACK 1.x的认识.TP l作为有效的文件类型?“

你想要的是将--type-set=smarty=.tpl放在命令行或ACK_OPTIONS环境变量或.ackrc文件中。然后你可以说“ack --smarty foo”,它只会搜索smarty文件。

您可能还想使用--ignore-dir=cache,因此ack不会在您的缓存目录中进行搜索。

区分大小写与此处的问题无关。

+0

我试过'ack --type-add = smarty = .tpl',但没有运气:'ack:--type-add:类型“smarty”不存在,用“.tpl”创建...' – crmpicco

+0

我的错误,它是'--type-set'。 '--type-add'为现有类型添加扩展。但是,你仍然应该选择.tpl文件。做一个'ack -f'来查看ack选择要搜索的文件。 –

+0

出于某种原因,我似乎无法使用该命令将Smarty模板添加到我的'.ackrc'文件中。这就是我正在做的:'ack --type-set = smarty = .tpl',我得到一个错误:'ack:找不到正则表达式。“这是预期的吗? – crmpicco

0

你的问题是不明确......

如果你想找到的模板文件名,其中填充一些内容之后呈现,这里是它(wtih黑体):

cache/templates/gb/%%9B^9B3^9B37B147%%course.tpl.php

+0

如果您重新阅读我的问题,您会看到我询问是否可以在Smarty模板中搜索_content_。我不在寻找文件名。 – crmpicco