Questo script che mi appresto a descrivere permette di cercare all'interno di piu' file presenti in una directory e nelle sue sottodirectory delle stringhe.
Ci tengo a precisare che non e' semplicemente
cat * | text | grep -i
oppure
cat * | grep -i
Ma e' uno strumento che oltre all'occorrenza trovata nei file mostra anche il file che lo contiene e credo che sia una buona funzione .
Ad esempio se volessi cercare la stringa java, l'output sarebbe
------------------------------Output
++++++++./src/axisGui/CmdExec.java +++++++++++
import java.io.*;
import java.util.Vector;
^^^^^^^ ./src/axisGui/CmdExec.java ^^^^^^^^^^^^^^^^^
cat: ./src/axisGui/.xvpics: Is a directory
++++++ ./src/axisGui/Frame1.java +++++++++++++++++++
import javax.swing.JFrame;
import java.awt.event.WindowEvent;
import java.awt.Dimension;
-------------------------------output
Dopo aver descritto l'uso e lo scopo di questo algoritmo procediamo a descrivere l'implementazione e quindi il codice
Aprite un terminale eseguite vi header
e scrivete :
#/bin/bash
cat $1| grep -i $2 &> /dev/null
if [ $? == 0 ]; then
echo -e -n "\n+++++++++++++++++ $1 +++++++++++++++++++ \n"
cat $1| grep -i $2
echo -e -n "\n^^^^^^^^^^^^^^^^^ $1 ^^^^^^^^^^^^^^^^^^^ \n"
fi
quindi :wq (uscite e salvate il file)
eseguite
chmod +x header
mv header ~/bin/ (opzionale questo script vi sara' inserito nella vostra path )
e ora abbiamo finito perche basta eseguire
find -name \* -exec header {} \; | less
(se non avete eseguito il comando dovrete inserire tutto il percorso di header)
Spero che sara' utile a qualcuno