= grep == uso es una utilidad de línea de comando para buscar [[tech:regexp:start|expresiones regulares]] dentro de cadenas. * ''$ grep'' * -n : muestra número de línea * -v : inverso, muestra las líneas que NO tienen la cadena * -w : palabras completas * -x : lineas completas, no fragmentos * -P : uso del formato PERL de expresiones regulares * --color : marca en color las coinicidencias * -i : --ignore-case * -c : count * -r : búsqueda recursiva * -l : mostrar solo el nombre del fichero que hace match == otras utilidades similares * **riggrep** : (no en repos por defecto de Debian) -> [[https://github.com/BurntSushi/ripgrep]] == ejemplos * buscar una cadena en una serie de ficheros:find . -name "*.java" -print0 | xargs -0 grep -i ".*Legacy.*xmi" * usar un fichero de apoyo de ficheros para realizar acciones sobre los mismos * extraido de dokuwiki * permite comentarios en el fichero TXT grep -Ev "^($|#)" files2remove.txt | xargs -n 1 rm -fd # removed in 2011-05-25 conf/words.aspell.dist lib/styles/style.css # removed in 2010-11-07 inc/lang/ar/subscribermail.txt inc/lang/az/subscribermail.txt inc/lang/bg/subscribermail.txt inc/lang/ca/subscribermail.txt inc/lang/ca-valencia/subscribermail.txt inc/lang/cs/subscribermail.txt * buscar cadenas no coincidentes entre 2 ficheros: grep -vf fichero1 fichero2grep -vxFf ItemsListtoAvoid.txt AllItemsList.txt > ItemsDifference.txt * filtrado en vivo: tail -f some_log_file.log | grep --line-buffered the_thing_i_want * búsqueda de 2 palabras: grep -e 'palabra1' -e 'palabra2' fichero grep 'palabra1\|palabra2\|palabra3' fichero grep -E 'palabra1|palabra2' fichero egrep -w 'palabra1|palabra2' fichero * mostrar líneas sin comentarios:grep -v ^# | grep . * primera parte descarta toda aquella línea que empiece por # * segunda parte solo deja pasar líneas no vacías * generar contraseña:strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo