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