My program looks like this.

```
ALL=`cat $1 | grep -v '^#' | wc -l`
FINISHED="0"

for i in `cat $1 | grep -v '^#'`; do
        echo "PROBE $i"
 I will be doing some operation
FINISHED=`echo $FINISHED"+1"|bc`

```

I will run this script by giving a file name as parameter where a list of probes will be present.

I have 2 questions

1. What does `grep -v '^#'` mean. I learnt that `'^` is usually used to matching a particular string. But in the file name which I give there is no `#`. Moreover I am getting the total number of probes for `cat $1 | grep -v '^#' | wc -l`.
2. `echo $FINISHED"+1"|bc`. Here any idea as to why the developer as added `|bc`?