简体   繁体   中英

Using ack to search inside files with no extensions

I have some text "bar" contained in files FOO and foo.cc .

Is there a way to tell ack-grep to search inside files with no extension (namely FOO )?

I've tried something like this:

ack-grep --type-set=foo=FOO bar

which returns the text in foo.cc, but not file FOO.

I've also added the --type-set to my .ackrc file, calling

ack-grep --help-types

shows that ack-grep is looking for .FOO files.

My ack is of version 2.12. Bellow command should work.

$ ack --type-set make:is:Makefile --type=make string-pattern

So similarly,

$ ack --type-set foo:is:FOO --type=foo string-pattern

You can combine ack-grep 's -a (search everything) with -G (only search files that match a given regex). Something like:

ack-grep -a -G '^[^.]+$' what-to-search-for

should do the trick.

Under ack2 you have to define a custom type:

ack-grep --WANTED --type-set WANTED:match:^[^.]+$ what-to-search-for

works for me.

You cannot do what you want with ack 1.x. You need to upgrade to ack 2.0 .

ack 1.x did not have a way to deal with files without extensions. ack 2.0 adds a much more flexible file-specification system.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM