Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何忽略对测试文件的搜索_Shell_Command Line_Ack - Fatal编程技术网

Shell 如何忽略对测试文件的搜索

Shell 如何忽略对测试文件的搜索,shell,command-line,ack,Shell,Command Line,Ack,我使用ack,我想避免搜索任何有名称测试的文件。我该怎么做 下面确保只搜索名为test的文件或目录。我想要它的反面 ack foo --rb -G test 使用第一个选项可以忽略名为test的文件。使用第二个选项可以忽略文件中的任意位置带有单词test 如果要永久忽略测试文件,可以编辑ack脚本中的is\u searchable功能。这是筛选核心转储、交换文件等的例行程序。为什么我需要插入符号才能工作。基于此插入符号仅表示行的开始。您需要锚定负前瞻,否则它将始终匹配。如果您只写(?!test

我使用ack,我想避免搜索任何有名称测试的文件。我该怎么做

下面确保只搜索名为test的文件或目录。我想要它的反面

ack foo --rb -G test
使用第一个选项可以忽略名为test的文件。使用第二个选项可以忽略文件中的任意位置带有单词
test


如果要永久忽略测试文件,可以编辑ack脚本中的
is\u searchable
功能。这是筛选核心转储、交换文件等的例行程序。

为什么我需要插入符号才能工作。基于此插入符号仅表示行的开始。您需要锚定负前瞻,否则它将始终匹配。如果您只写
(?!test)
,那么这将匹配所有文件名,因为前瞻始终能够找到“test”一词不存在的位置。
ack -G '^(?!test$)'
ack -G '^(?!.*test)'