Question: I'd like to know how could I find all files whose extension can be `.xml` and `.py` that contain the string "Jason" under a path "./" recursively?

Or how could I exclude `.po` from the search?

Answer: 
You can do it with grep only (without using find):

```
grep --include=\*.{xml,py} -Rl ./ -e "Jason"

```

And to exclude .po:

```
grep --exclude=*.po --include=\*.{xml,py} -Rl ./ -e "Jason"

```
You could do this:

```
grep -r "Jason" ./ | grep .xml; grep -r "Jason" ./ | grep .py

```

That will display the output of any files containing `Jason` and limit it to filenames containing `.xml` or `.py`.

If you want to just exclude `.po`, then try this:

```
grep -r "Jason" | grep -v .po

```