blog: Code Snippet: Count number of files with an extention
This commit is contained in:
parent
fcdf107f7c
commit
f6577d5018
1 changed files with 29 additions and 0 deletions
29
src/content/blog/2024-03-11-code-snippet-tree-grep.md
Normal file
29
src/content/blog/2024-03-11-code-snippet-tree-grep.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
title: 'Code Snippet: Count the number of files with an extention '
|
||||||
|
date: 2024-03-11T21:09:52.651Z
|
||||||
|
slug: 2024-03-11-code-snippet-tree-grep
|
||||||
|
author: Thomas Wilson
|
||||||
|
|
||||||
|
---
|
||||||
|
I wanted to know how many files that ended in either `.test.ts` or `.test.js` in a directory, came up with this guy:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
tree --noreport --gitignore -i | grep -c -E '\.test\.(js|ts)'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tree
|
||||||
|
|
||||||
|
[tree](https://formulae.brew.sh/formula/tree) is a tool for listing out the contents of a directory in a tree-style format.
|
||||||
|
|
||||||
|
- `--noreport` Removes a summary line at the bottom ("10 directories, 35 files")
|
||||||
|
- `--gitignore` Looks for a `.gitignore` file and excludes those directories, useful for those pesky `node_modules` directories
|
||||||
|
- `-i` Removes the whitespace and indent (makes it better input for regex)
|
||||||
|
|
||||||
|
## Grep
|
||||||
|
|
||||||
|
Grep is a tool for searching text against a regex.
|
||||||
|
|
||||||
|
We pass in the input from tree into Regex, and only look for files that match a pattern
|
||||||
|
|
||||||
|
- `-c` for "count", i.e. just tell me how many matches you found
|
||||||
|
- `-E`for extended regex, it makes the `(js|ts)` fragment work
|
||||||
Loading…
Reference in a new issue