[CentOS] Bash Script for Beginners! oh dear :'(

Matej Cepl mcepl at redhat.com
Fri Dec 26 22:06:26 UTC 2008


On 2008-12-24, 01:22 GMT, MHR wrote:
> On Tue, Dec 23, 2008 at 4:34 PM, Matej Cepl wrote:
>> On 2008-12-23, 12:15 GMT, James Bensley wrote:
>>> find . -exec grep -q "$1" '{}' \; -print >> ./found_files
>>
>> I think you can have only one action (either -exec or -print),
>> but not sure about it. Anyway, my first instinct when things are
>> getting to be more complicated is to use while cycle, like this:
>>
>> find . |while read FILE ; do
>>    if grep "$FILE" '{}' >/dev/null 2>&1 ; then
>>        echo "$FILE" >> ./found_files
>>    fi
>> done
>>
>
> I don't think the '{}' construct for 'find' will work on the other
> side of a pipe....

Of course, that's what I get from copying original text. Should 
read:

find . |while read FILE ; do
   if grep "$FILE" "$1" >/dev/null 2>&1 ; then
       echo "$FILE" >> ./found_files
   fi
done

Matěj Cepl



More information about the CentOS mailing list