ack
(用Perl编写的grep
工具)找不到grep -r
找到的文件,但找不到合适的选项让它工作。以下显示ack
未找到目标字符串,该字符串位于子目录中的常规文件中。它在Bash shell(Ubuntu 11.04)上:
100 $ grep -r imbue *
hel/find: the fact that some shells including Bash imbue braces
## Note: grep find it as shown in the above.
101 $ ./ack-standalone imbue
## Note: ack didn't find it as shown in the above.
102 $ ./ack-standalone --version
ack 1.96
Running under Perl 5.10.1 at /usr/bin/perl
Copyright 2005-2011 Andy Lester.
This program is free software. You may modify or distribute it
under the terms of the Artistic License v2.0.
## This is the testing folder structure:
103 $ tree
.
ack-standalone
hel
|- dot
|- find
|- grep
|- jobs
perlman
perlre
perlrequick
perlrun
perlvar
xargs
1 directory, 11 files
来自apt-get软件包安装的ack版本2获得了相同的结果。在上面显示的独立版本(版本1)中。 ack -f
没有显示任何内容,我尝试了-r
和*
选项,但结果相同。
在另一台机器上,Ubuntu 10.04,它就像一个魅力。
答案 0 :(得分:8)
如果我选择使用-a
开关(我的版本与您的版本相同)选择在所有文件中操作而不管其类型,它都适用于我:
ack -a imbue *