two several patterns multiple matches mac commands and regex macos bash grep

regex - several - multiple grep commands



¿Funciona grep de forma diferente en OSX (3)

Estoy tratando de usar grep como estoy acostumbrado desde Linux, con todas sus increíbles funciones y todo el poder de RegEx, ... pero en Mac OS X no está funcionando como esperaba.

Si uso "-P" (Perl Regex) me da el resultado de "uso" (--help). Allí encontramos el parámetro "-P" en la lista de parámetros "-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ" ... Todavía no funciona.

Otro ejemplo es el asterisco o el signo más. Estoy intentando esto http://wiki.bash-hackers.org/howto/conffile

Para revisar un archivo de configuración en busca de contenido inapropiado que usa la instrucción:

if egrep -q -v ''^#|^[^ ]*=[^;]*'' "$configfile"; then echo "Config file is unclean, cleaning it..." >&2 # filter the original to a new file egrep ''^#|^[^ ]*=[^;&]*'' "$configfile" > "$configfile_secured" configfile="$configfile_secured" fi

Y no funciona en líneas como esta:

DATABASE=some_database; ls -la

¿Qué estoy haciendo mal? Porque todo esto funciona bien en máquinas Linux.



Mac OS X se basa en BSD y no utiliza las herramientas GNU a las que está acostumbrado. Leí sobre POSIX grep porque sin las extensiones GNU seguirás agitándote sin ninguna razón. Todo debería seguir siendo posible, pero no de la manera exacta a la que estás acostumbrado.


ubuntu (bueno, mi caja antigua de ubuntu 8, estoy sentada al lado de ...):

$ grep -V GNU grep 2.5.3

OS X:

$ grep -V grep (BSD grep) 2.5.1-FreeBSD

Sí; Son programas diferentes. OS X no es Linux. Está basado en BSD.

Si desea la versión GNU de grep, con sus diversas extensiones, puede instalarla fácilmente con Homebrew .