Come far funzionare 'grep' come in Ubuntu?

9

Ho provato a usare grep per abbinare un modello sul terminale, ma n o qualsiasi risultato viene fuori.

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

Sapevo che grep su macOS è basato su BSD mentre grep su Ubuntu è basato su GNU.

Come far funzionare 'grep' su macOS come in Ubuntu?

    
posta SparkAndShine 06.03.2017 - 12:26
fonte

2 risposte

17

Quando viene utilizzata l'opzione -R , MacOS grep richiede di assegnargli esplicitamente una directory da cercare; ad esempio, specifica . per cercare ricorsivamente la directory corrente:

grep -R 'networks' .
    
risposta data 06.03.2017 - 12:42
fonte
3

A lungo termine, probabilmente è meglio installare gli strumenti basati su GNU o eseguire Ubuntu virtualmente. Entrambi sono disponibili gratuitamente.

brew install coreutils (per eseguire il comando brew che devi installare homebrew dal link ) metterà le versioni GNU degli strumenti nel tuo sentiero. Cerca il comando ggrep e probabilmente un pacchetto standalone grep da installare poiché coreutils tende a cambiare nel tempo ciò che include.

(MODIFICA: Tieni presente che a partire dal 2018 , grep deve essere installato separatamente separatamente da coreutils come segue:

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

e ha un nome eseguibile univoco ggrep con due G.)

Anche cercare qui GNU o coreutils sarà utile per il contesto e suggerimenti / trucchi.

risposta data 06.03.2017 - 12:38
fonte

Leggi altre domande sui tag