使用正则表达式进行locate和grep仅获取文件夹

使用正则表达式进行locate和grep仅获取文件夹

当我尝试使用以下内容locate进行搜索时:grep

locate A-B | grep .dir

结果是:

.../A-B-C.dir
.../A-B-C.dir/file
.../A-B-C.dir/file1
.../A-B-D.dir
.../A-B-D.dir/file1
...

如何修改greplocate使搜索仅.dir此而已?

我有很旧的系统:

Secure Locate 2.7 - 2003 年 1 月 24 日发布

grep(GNU grep)2.5.1

答案1

如果这是 Linux 系统,那么您很可能locate支持正则表达式:

locate --regex 'A-B.*\.dir$'

如果不,

locate 'A-B' | grep '\.dir$'

要点是使用 正确地将正则表达式锚定到行尾$

请注意,这两种变体也会找到例如/some/path/ABBA-Bootlegs/thing.dir

相关内容