'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.
Solution 1:[1]
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.
Solution 2:[2]
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'
Solution 3:[3]
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.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | kenorb |
| Solution 2 | FlakRat |
| Solution 3 |
