2013-07-09 12 views

risposta

2

Non hai menzionato il sistema operativo che stai utilizzando, ma se è simile a Linux, puoi scrivere uno script "wrapper". Crea uno script di shell chiamato qualcosa come e mettilo in una directory che si trova nel tuo $ PATH, quindi git può trovarlo. Quindi puoi digitare git grep1 param1 param2... come se il tuo script fosse un comando git incorporato.

Ecco un rapido esempio per iniziare:

# Example use: find C source files that contain "pattern" or "pat*rn" 
# $ git grep1 '*.c' pattern 'pat*rn' 

# Ensure we have at least 2 params: a file name and a pattern. 
[ -n "$2" ] || { echo "usage: $0 FILE_SPEC PATTERN..." >&2; exit 1; } 

file_spec="$1" # First argument is the file spec. 
shift 
pattern="-e $1" # Next argument is the first pattern. 
shift 

# Append all remaining patterns, separating them with '--and'. 
while [ -n "$1" ]; do 
    pattern="$pattern --and -e $1" 
    shift 
done 

# Find the patterns in the files. 
git grep -i "$pattern" -- "$file_spec" 

Avrete probabilmente bisogno di sperimentare con questo, per esempio, forse racchiudendo il $file_spec e ogni modello in-apici per prevenire l'espansione del conchiglia.

0

Se si conosce l'ordine relativo delle stringhe, allora si può fare un

git grep str1.*str2.*str3 -- *strings*txt 
Problemi correlati