Invalid max count in grep function

35.9k views Asked by At

If I do a find . -mmin -1 I get 'myfile' which was modified in last one minute.

But when I want to search a particular string in that file by doing

grep 'myString' myfile -mmin -1 

I get the error invalid max count

I also tried

find . -name "myfile" -exec grep 'myString' myfile -mmin -5

I get the error find: missing argument to -exec

So my question is How do I grep or cat only the changes within a file which happened in last 5 mins. Now that I know the file name which was modified during that period.

Suggestions? Thanks in adv.

4

There are 4 answers

0
abesto On BEST ANSWER

Grep doesn't have an mmin argument as far as I can see. It does have a -m argument with a number parameter. grep 'myString' myfile -m3 will stop after 3 lines containing myString. So, the error message means that 'min' in -mmin is not a valid maximum count.

0
Johan Ur Riise On

grep something *

Error:

grep: invalid max count

Verify that you have a file with a leading dash in the name in the current directory. The file name might be taken for an option.

For example:

grep something // okay

touch -- -mmin

**grep something **

grep: invalid max count

Workaround:

**grep -- something **

From man getopt:

Each parameter after a -- parameter is always interpreted as a non-option parameter.

0
Dudi Boy On

Easy answer is to combine grep command and find command into single command:

grep "search-patten" $(find . -mmin -5)

This command will find all matched lines to "search-patten" in all modified files under current directory younger than 5 minutes ago.

grep "search-patten" $(find . -mmin +5)

This command will find all matched lines to "search-patten" in all modified files under current directory older than 5 minutes ago.

0
FlakRat On

I've also encountered this when forgetting to escape a dash in the grep string:

Example:

history | grep '-m yum'
grep: invalid max count

history | grep '\-m yum'
...
sudo ansible workstations -m yum --fork=20 -a 'name=zsh state=latest'