Tag Archive
android ant array BAT Browsers C# C/C++ CSS dd ddrescue DOS droid droidx editor editors find Firefox fix formatting GUI Hardware hash html Java Linux OS perl PHP Programming properties Python review Ruby scripting Shell Swing syntax system tools utilitie Utilities utilization vi Video Windows Wordpress
Linux:Script to find files
I regularly have to find where a file is located and usually use find:
find . | grep
Where
#!/bin/sh if [ $# -lt 1 ]; then echo 1>&2 Usage: $0 "" exit 127 fi icase= while [ $# -ge 1 ]; do case $1 in -i) icase=$1;; *) search=$1 ;; esac shift done find . | grep $icase $search
This is just a simple script which I have named ffind that searches starting from the current directory. This lets me search with the following commands:
ffind bak$
This will search for all files that end with “bak” .
ffind -i edr
This will search for all files with “edr” regardless of case
Using find and grep to search files
I have been searching through source code and files for years. And I used to use find with a few arguments to get what I was looking for.
find . -exec grep {} \; -print
I used the -print after the exec arguments to show the file only when the grep succeeded. This worked but was a bit to type each time I used it. So I came up with a little script that would help me to search for the an argument and even allow a case insensitive search as well.
#!/bin/sh
if [ $# -lt 1 ]; then
echo 1>&2 Usage: $0 ""
exit 127
fi
icase=
search=
while [ $# -ge 1 ]; do
case $1 in
-i) icase=$1;;
*) search=$1 ;;
esac
shift
done
find . -type f -print0 | xargs -0 grep $icase $search
The script takes at least one argument and excepts a ‘-i’ argument to make grep use a case insensitive search. This will print the file name and the line that matches the search term. It can be easily adapted to show the count of matched patterns (‘-c’) or the line number (‘-n’).