Question: I need a one liner which displays 'yes' or 'no' whether grep finds any results.

I have played with `grep -c`, but without success.

Answer: 
How about:

```
uptime | grep user && echo 'yes' || echo 'no'
uptime | grep foo && echo 'yes' || echo 'no'

```

Then you can have it quiet:

```
uptime | grep --quiet user && echo 'yes' || echo 'no'
uptime | grep --quiet foo && echo 'yes' || echo 'no'

```

From the grep manual page:

> 
> EXIT STATUS
> 
> 
> Normally, the exit status is 0 if selected lines are found and 1
>  otherwise. But the exit status is
>  2 if an error occurred, unless the -q or --quiet or --silent
>  option is used and a selected line is
>  found.
> 
> 
>
Not sure what you mean by "one liner", for me this is a "one liner"

Just add `; if [ $? -eq 0 ]; then echo "Yes"; else echo "No"; fi` after you grep command

```
bash$ grep ABCDEF /etc/resolv.conf; if [ $? -eq 0 ]; then echo "Yes"; else echo "No"; fi
No
bash$ grep nameserver /etc/resolv.conf; if [ $? -eq 0 ]; then echo "Yes"; else echo "No"; fi
nameserver 212.27.54.252
Yes

```

Add -q flag to grep if you want to supress grep result

```
bash$ grep -q nameserver /etc/resolv.conf; if [ $? -eq 0 ]; then echo "Yes"; else echo "No"; fi
Yes

```