I would like to search for lines that contain "uploaded" but do not contain "09"
Is there a way to do this with grep?
(CentOS 5.6 if it matters).
You can use the -v option to grep to invert the match so
grep uploaded file | grep -v 09
will do what you want. This finds the lines that contain uploaded which are passed piped into a grep command to ignore lines with 09 in them.
This isn't using grep
- but anytime I have a need that requires more than a basic grep
, I turn to my favorite, sed
. Certainly any time I have to chain grep
commands together...
Use this command to do it:
sed -n '/09/d; /uploaded/p' file
Just one single command (not two).
Try simply:
( grep -v 09 | grep uploaded ) < file
Example:
$ cat file
1 uploaded 09
2 09
3 uploaded
4 text
$ ( grep -v 09 | grep uploaded ) < file
3 uploaded