Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A search for `rg -e foo -e bar` will return lines that match either foo or bar. Some lines may have both, but it isn't required.

The standard way to run "AND" queries is through shell pipelines. That is, `rg foo | rg bar` will only print lines containing both. But composition usually comes with costs. The output reverts to the standard grep format and it doesn't interact nicely with contextual options like -C/--context.

See: https://github.com/BurntSushi/ripgrep/issues/875



As I have overloaded my rg with a customized rg alias, I can't pipe multiple rg calls.

Otherwise it would look like this:

    # rg nokogiri | rg linux
    
    <stdin>:11:Gemfile.lock:647:  nokogiri (1.15.5-x86_64-linux)
But that is a me problem.

The workaround is of course just to pipe into grep instead.


Or `\rg`, which will use the command directly and skip your alias.


Oh, look at that. Nice.

Still losing the coloring but you can't have everything.


If you want to win on both counts (no buggy pipes and coloring), and if you're certain of the order, you can use the following:

    rg nokogiri.*linux




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: