[Insight-users] bash script to search example files for terms

Luis Ibanez luis.ibanez at kitware.com
Mon Oct 12 21:40:58 EDT 2009


Hi Darren,

Thanks for the script.

It has now been committed to the CVS repository as

         Insight/Examples/SearchScript.sh

---

The second script,
are you suggesting it as a separate script ?
or as an improvement to the first one ?


    Please let us know,


          Thanks


                Luis


----------------------------
On Mon, Oct 12, 2009 at 4:15 PM, Darren Weber
<darren.weber.lists at gmail.com> wrote:
>
> Hi Luis,
>
> Please feel free to distribute it with the LGPL license (or a BSD license,
> or something that is compatible with the ITK license and general OSI
> principles).
>
> For a more portable solution, the itk*Path variables might be obtained
> automatically (how?).  The search path could be an input parameter (but that
> almost defeats the convenience of this bash wrapper around a grep process).
>
> The grep command options list the files where the search term is found (not
> the lines of those files where the search term occurs).  For a bit more
> value, it's possible to modify the script so that the entire grep loop
> returns an array of file paths, which could be piped into something like:
> less -p ${searchTerm} ${fileArray}[@]
> Then less would provide the means to page through the files.
>
> Here is another variation on the same thing - this one searches the testing
> path and it includes the .tcl and .py example files in the search.  It might
> be called 'itkSearchFiles.bash' ?
>
> ###### BEGIN SCRIPT
> #!/bin/bash
>
> if [ $# -lt 1 ]; then
>     echo "$0 'search term' ['search term' ...]"
>     exit 1
> fi
>
> itkExamplePath="/opt/local/share/InsightToolkit/examples"
> itkTestingPath="/opt/local/share/InsightToolkit/testing/Code"
>
> for term in $@; do
>     echo
>     echo "Search term: ${term}"
>     for itkPath in "${itkExamplePath}" "${itkTestingPath}" ; do
>         if [ ! -d ${itkPath} ]; then
>             echo "Path not found: ${itkPath}"
>         fi
>         echo "Searching ITK files in: ${itkPath}"
>         grep -l -E -e ${term} ${itkPath}/*/*.cxx
>         grep -l -E -e ${term} ${itkPath}/*/*.tcl
>         grep -l -E -e ${term} ${itkPath}/*/*.py
>     done
> done
> ###### END SCRIPT
>
>
> Take care,
> Darren
>
>
>
>
>
>
> On Mon, Oct 12, 2009 at 12:26 PM, Luis Ibanez <luis.ibanez at kitware.com>
> wrote:
>>
>> Hi Darren,
>>
>> This is really useful !
>>
>> Thank you for sharing it.
>>
>> Do you see any reason for not adding this to the CVS
>> repository and distribute it along with ITK ?
>>
>> Please let us know,
>>
>>
>>    Thanks
>>
>>
>>          Luis
>>
>>
>> ---------------------------------------
>> On Mon, Oct 12, 2009 at 2:15 PM, Darren Weber
>> <darren.weber.lists at gmail.com> wrote:
>> >
>> > This is a short bash script (grep does the work) to search for terms in
>> > the
>> > InsightToolkit example files.  It's a convenience wrapper that stores
>> > the
>> > path to the example files (.cxx in this case), the syntax of the grep
>> > call,
>> > and allows multiple terms to be given at once.  Modify the example
>> > search
>> > path for your purposes (it could be modified to search for the tcl or
>> > python
>> > examples too).  Modify the grep call as you like.
>> >
>> > #### BEGIN SCRIPT
>> > #!/bin/bash
>> >
>> > if [ $# -lt 1 ]; then
>> >     echo "$0 'search term' ['search term' ...]"
>> >     exit 1
>> > fi
>> >
>> > # Search the CXX files
>> > itkExamplePath="/opt/local/share/InsightToolkit/examples/*/*.cxx"
>> > echo "Searching ITK .cxx files in: ${itkExamplePath}"
>> >
>> > for term in $@; do
>> >     echo
>> >     echo "Search term: ${term}"
>> >     grep -l -E -e ${term} ${itkExamplePath}
>> > done
>> > #### END SCRIPT
>> >
>> > This is an example call on my platform:
>> >
>> > $ itkSearchExamples.bash 'TransformWriter' 'TransformReader'
>> > Searching ITK .cxx files in:
>> > /opt/local/share/InsightToolkit/examples/*/*.cxx
>> >
>> > Search term: TransformWriter
>> > /opt/local/share/InsightToolkit/examples/IO/TransformReadWrite.cxx
>> >
>> > Search term: TransformReader
>> > /opt/local/share/InsightToolkit/examples/IO/TransformReadWrite.cxx
>> >
>> > /opt/local/share/InsightToolkit/examples/Registration/DeformableRegistration14.cxx
>> >
>> > /opt/local/share/InsightToolkit/examples/Registration/DeformableRegistration8.cxx
>> >
>> > Take care,
>> > Darren
>> >
>> >
>> > _____________________________________
>> > Powered by www.kitware.com
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Please keep messages on-topic and check the ITK FAQ at:
>> > http://www.itk.org/Wiki/ITK_FAQ
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://www.itk.org/mailman/listinfo/insight-users
>> >
>> >
>
>


More information about the Insight-users mailing list