Here's a basic regex technique that I've never managed to remember. Let's say I'm using a fairly generic regex implementation (e.g., grep or grep -E). If I were to do a list of files and match any that end in either .sty
or .cls
, how would I do that?
Asked
Active
Viewed 2,633 times
4

eLRuLL
- 18,488
- 9
- 73
- 99

Will Robertson
- 62,540
- 32
- 99
- 117
3 Answers
4
ls | grep -E "\.(sty|cls)$"
\.
matches literally a"."
- an unescaped.
matches any character(sty|cls)
- match"sty"
or"cls"
- the | is anor
and the brackets limit the expression.$
forces the match to be at the end of the line
Note, you want grep -E
or egrep
, not grep -e
as that's a different option for lists of patterns.

David Webb
- 190,537
- 57
- 313
- 299