Invalid max count in grep function

29,530

Solution 1

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.

Solution 2

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.

Share:
29,530
Some Java Guy
Author by

Some Java Guy

I did Java/J2EE for long time, now AWS architecture.

Updated on July 09, 2022

Comments

  • Some Java Guy
    Some Java Guy almost 2 years

    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.

    • Niels Bech Nielsen
      Niels Bech Nielsen over 2 years
      I think with this one, you came closest: find . -name "myfile" -exec grep 'myString' myfile -mmin -5, however, if you need to execute the grep from find, it must be find . -mmin -1 -exec grep -H "mystring" {} \; where the {} are where to insert the filename, and \; terminates the grep command. In this way, find will search for new files and execute grep on each.