42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | |
| source "$(dirname "$0")/lib/ulib/auto" || exit 1
 | |
| 
 | |
| function display_help() {
 | |
|     uecho "$scriptname: frontend de grep pour chercher dans un fichier encodé en latin1
 | |
| 
 | |
| USAGE
 | |
|     $scriptname [options] FILE
 | |
| 
 | |
| OPTIONS
 | |
|         options de grep qui sont reprises telles quelles"
 | |
| }
 | |
| 
 | |
| grepopts=()
 | |
| args=(
 | |
|     --help '$exit_with display_help'
 | |
|     -E,--extended-regexp '$grepopts+=(-E)'
 | |
|     -F,--fixed-strings '$grepopts+=(-F)'
 | |
|     -G,--basic-regexp '$grepopts+=(-G)'
 | |
|     -P,--perl-regexp '$grepopts+=(-P)'
 | |
|     -i,--ignore-case '$grepopts+=(-i)'
 | |
|     -v,--invert-match '$grepopts+=(-v)'
 | |
|     -L,--files-without-match '$grepopts+=(-L)'
 | |
|     -l,--files-with-matches '$grepopts+=(-l)'
 | |
|     -q,--quiet,--silent '$grepopts+=(-q)'
 | |
|     -s,--no-messages '$grepopts+=(-s)'
 | |
|     -H,--with-filename '$grepopts+=(-H)'
 | |
|     -h,--no-filename '$grepopts+=(-h)'
 | |
|     -a,--text '$grepopts+=(-a)'
 | |
|     -r,--recursive '$grepopts+=(-r)'
 | |
|     -R,--dereference-recursive '$grepopts+=(-R)'
 | |
| )
 | |
| parse_args "$@"; set -- "${args[@]}"
 | |
| 
 | |
| pattern="$1"
 | |
| args=("${@:2}")
 | |
| #XXX ajouter le support de -r, -h, -H, notamment si ${args[@]} contient un
 | |
| # répertoire
 | |
| 
 | |
| iconv -f latin1 -t utf-8 "${args[@]}" | grep "${grepopts[@]}" "$pattern"
 |