[OT] shell quoting [SOLVED]

Alexander Kirillov nevis2us at infoline.su
Thu Sep 20 09:34:07 UTC 2007


>>  I need to compare two different versions of a source tree
>>  excluding certain directories and print out some statistics
>>  on the files which have been changed, removed or added.
> 
> diff -urN -x 'bb*' old new | diffstat

diff won't help much as I need an explicit list
of new/added files in a tree of ~10K files.
Besides -x only works on basenames.

>>  and I want to exclude all paths starting with ./bb
>>  This one is easy:
>>
>>  find . ! -path './bb*'
>>
>>  Now I want to make it into a generic script:
>>
>>  DIR=.
>>  OPT='! -path $DIR/bb*'
>>  find $DIR $OPT
>>
>>  $DIR and * within OPT are essential
>>  and no matter what I've tried I can't get the parameter expansion right.
> 
> Use arrays:
> declare -a options
> 
> options=( '!' '-path' './bb*')
> options+=( '-type' 'f')
> ...
> 
> And then:
> find $DIR "${options[@]}"

This one's interesting.
Thanks Luciano!

DIR=.
OPT=('!' '-path' $DIR'/bb*')
find $DIR "${OPT[@]}"




More information about the users mailing list