mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Find Occurrences Of Multiple Values With Ripgrep as a Unix TIL
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
||||
|
||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||
|
||||
_1318 TILs and counting..._
|
||||
_1319 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -1269,6 +1269,7 @@ _1318 TILs and counting..._
|
||||
- [Find Duplicate Lines In A File](unix/find-duplicate-lines-in-a-file.md)
|
||||
- [Find Files With fd](unix/find-files-with-fd.md)
|
||||
- [Find Newer Files](unix/find-newer-files.md)
|
||||
- [Find Occurrences Of Multiple Values With Ripgrep](unix/find-occurrences-of-multiple-values-with-ripgrep.md)
|
||||
- [Fix Unlinked Node Binaries With asdf](unix/fix-unlinked-node-binaries-with-asdf.md)
|
||||
- [Forward Multiple Ports Over SSH](unix/forward-multiple-ports-over-ssh.md)
|
||||
- [Generate A SAML Key And Certificate Pair](unix/generate-a-saml-key-and-certificate-pair.md)
|
||||
|
||||
25
unix/find-occurrences-of-multiple-values-with-ripgrep.md
Normal file
25
unix/find-occurrences-of-multiple-values-with-ripgrep.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Find Occurrences Of Multiple Values With Ripgrep
|
||||
|
||||
Let's say I have a several values that show up throughout the files in my
|
||||
project. They are `Valid`, `Restricted`, `Refunded`, `Disputed`, and `Banned`.
|
||||
|
||||
I want to find all occurrences of each of these values.
|
||||
|
||||
This can be done with [`rg` (ripgrep)](https://github.com/BurntSushi/ripgrep)
|
||||
and a bit of regex.
|
||||
|
||||
```bash
|
||||
rg "\b(Valid|Restricted|Refunded|Disputed|Banned)\b"
|
||||
```
|
||||
|
||||
This uses `\b` on both ends to indicate word boundaries. This ensures it
|
||||
matches on `Valid` without also matching on `Validate`. It then wraps all the
|
||||
options in parentheses separated by `|` which says, "match on this word, this
|
||||
word, ..., or this word".
|
||||
|
||||
I can even take this a step further by only matching on quoted instances of
|
||||
these words like so:
|
||||
|
||||
```bash
|
||||
$ rg "[\"']\b(Valid|Restricted|Refunded|Disputed|Banned)\b[\"']"
|
||||
```
|
||||
Reference in New Issue
Block a user