Ask HN: How to find occurrences of a DB model being used in a monolith?
3 コメント
[deleted]
The existing tool is called `grep`.
this more of a stack exchange related question.
just grep implies certain features not available with all grep versions
* not clear what number of occurrences refers to:
a) 6/10 search strings found in directory files
b) 600 total matches found in 4/10 files in directory
example below assumes "600" is what's wanted.
* "occurrences: string[] ":
provide just the matching string & number of time occurs in fileor include the "0" matches too?
in given example, "0" occurrences are "dropped"
-----
initial stuff:
example shell command preceded by #
file with list of paths to use, one per line -> dirscan.txt (directory scans)
file with list of paths to exclude, one per line -> dirskip.txt (directory excludes)
file with list of strings to mach, one per line -> strchk.txt (string matches)
----
command sequence outline:
1.) non-grep: from moreutilities, combine preserves order & no need to sort
# combine dirscan.txt not dirskip.txt
2.) a) use find command to eliminate some edge cases while walking list of sorted directories from #1 to create sorted directory/files list in file dirlist.txt
( some edge cases: special files, no permissions, etc.)
b) use dirlist.txt with find:
just grep implies certain features not available with all grep versions
* not clear what number of occurrences refers to:
a) 6/10 search strings found in directory files
b) 600 total matches found in 4/10 files in directory
example below assumes "600" is what's wanted.
* "occurrences: string[] ":
provide just the matching string & number of time occurs in fileor include the "0" matches too?
in given example, "0" occurrences are "dropped"
-----
initial stuff:
example shell command preceded by #
file with list of paths to use, one per line -> dirscan.txt (directory scans)
file with list of paths to exclude, one per line -> dirskip.txt (directory excludes)
file with list of strings to mach, one per line -> strchk.txt (string matches)
----
command sequence outline:
1.) non-grep: from moreutilities, combine preserves order & no need to sort
# combine dirscan.txt not dirskip.txt
2.) a) use find command to eliminate some edge cases while walking list of sorted directories from #1 to create sorted directory/files list in file dirlist.txt
( some edge cases: special files, no permissions, etc.)
b) use dirlist.txt with find:
1) if '-type d' print path to give to # grep -c -F strchk.txt \*
to print total number string instances in strchk.txt found in all files in directory.
2) if '-type f' print file to give to # grep -c -F strchk.txt
to display instances of strchk.txt strings (file, string, number of times appears in file.
note: display only when strchk.txt string occurrence is greater than 0
Input:
- files to scan I.E ["./src", "./test", ...]
- what to scan for I.E ["ExampleModel.", "models.ExampleModel.", ...]
- exclude from scan I.E ["./src/example-folder", ...]
Results:
- From folder: "./src":
- From folder: "./test":
This needs to be something I can write in Javascript or Python. Or preferably if you already know of such a tool please point me to it! :D
Would appreciate any idea, comment or suggestion! Thanks :)