Some Java Guy
Some Java Guy

Reputation: 5118

Invalid max count in grep function

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.

Upvotes: 7

Views: 38203

Answers (4)

Dudi Boy
Dudi Boy

Reputation: 4900

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.

Upvotes: 0

FlakRat
FlakRat

Reputation: 321

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'

Upvotes: 0

Johan Ur Riise
Johan Ur Riise

Reputation: 91

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.

Upvotes: 9

abesto
abesto

Reputation: 2351

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.

Upvotes: 4

Related Questions