Hacker News new | ask | show | jobs
by foothebar 1619 days ago
The existing tool is called `grep`.
1 comments

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:

   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