summaryrefslogtreecommitdiff
path: root/plugins/externaltools/data/search-recursive.tool.in
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/externaltools/data/search-recursive.tool.in')
-rwxr-xr-xplugins/externaltools/data/search-recursive.tool.in39
1 files changed, 39 insertions, 0 deletions
diff --git a/plugins/externaltools/data/search-recursive.tool.in b/plugins/externaltools/data/search-recursive.tool.in
new file mode 100755
index 00000000..66bf8748
--- /dev/null
+++ b/plugins/externaltools/data/search-recursive.tool.in
@@ -0,0 +1,39 @@
+#!/bin/bash
+# Copyright © 2011 Perberos
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by the
+# Free Software Foundation; either version 2.1 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+SEARCHTEXT=`matedialog --entry --title="Search text on files" --text="Text to search"`
+
+if [ ! "${#SEARCHTEXT}" = 0 ]; then
+
+ OIFS=$IFS; IFS=$'\n' # Backup and set new IFS
+
+ for LINE in `grep -nHIirF -- "$SEARCHTEXT" ./`; do
+ primer_indice=`expr index "$LINE" :`
+ tmp=${LINE:$primer_indice}
+ segundo_indice=`expr index "$tmp" :`
+ linea_codigo=${tmp:$segundo_indice}
+
+ # lugar donde está la palabra
+ posicion=`expr index "$tmp" "$SEARCHTEXT"`
+
+ linea_archivo=${LINE:0:$primer_indice + $segundo_indice - 1}
+
+ echo "${linea_archivo}: ${linea_codigo}"
+ done
+
+ IFS=$OIFS # Restore IFS
+fi