¿Cómo hacer que 'grep' funcione como en Ubuntu?

8

Intenté usar grep para hacer coincidir un patrón en el terminal, pero n o cualquier resultado sale.

$ grep -R 'networks'
grep: warning: recursive search of stdin

Sabía que grep en macOS se basa en BSD, mientras que grep en Ubuntu se basa en GNU.

¿Cómo hacer que 'grep' funcione en macOS como en Ubuntu?

    
pregunta SparkAndShine 06.03.2017 - 12:26

2 respuestas

16

Cuando se usa la opción -R , MacOS grep requiere que le des un directorio explícito para que busque; por ejemplo, especifique . para buscar recursivamente en el directorio actual:

grep -R 'networks' .
    
respondido por el sideshowbarker 06.03.2017 - 12:42
2

A largo plazo, probablemente es mejor instalar las herramientas basadas en GNU o ejecutar Ubuntu virtualmente. Ambos están disponibles de forma gratuita.

brew install coreutils (para ejecutar el comando brew que necesita para instalar homebrew desde enlace ) pondrá las versiones GNU de las herramientas en su camino. Busque el comando ggrep y posiblemente un paquete independiente grep para instalar ya que coreutils tiende a cambiar con el tiempo lo que incluye.

(EDITAR: Tenga en cuenta que a partir de 2018 , grep específicamente debe instalarse por separado desde coreutils como sigue:

$ brew install grep
$ ggrep sometext file.txt     # Note the executable is called ggrep with two G's

y tiene un nombre ejecutable único ggrep con dos G).

También aquí la búsqueda de GNU o coreutils será útil para el contexto y consejos / trucos.

respondido por el bmike 06.03.2017 - 12:38

Lea otras preguntas en las etiquetas