<p>I'm trying to construct a find command to process a bunch of files in a directory using two different executables.  Unfortunately, <code>-exec</code> on find doesn't allow to use pipe or even <code>\|</code> because the shell interprets that character first.  </p>

<p>Here is specifically what I'm trying to do (which doesn't work because pipe ends the find command):</p>

<pre><code>find /path/to/jpgs -type f -exec jhead -v {} | grep 123 \; -print
</code></pre>

As this outputs a list would you not :
```
```
find /path/to/jpgs -type f -exec jhead -v {} \; | grep 123
```
```
or
```
```
find /path/to/jpgs -type f -print -exec jhead -v {} \; | grep 123
```
```
Put your grep on the results of the find -exec.