Nasıl 'grep' Ubuntu gibi çalışır?


25

grepTerminaldeki bir deseni eşleştirmek için kullanmaya çalıştım , ancak sonuç çıkmadı.

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

grepMacunt üzerinde BSD grep, Ubuntu üzerinde GNU tabanlı olduğunu biliyordum .

Ubuntu gibi macOS'ta 'grep' nasıl çalışır?

Yanıtlar:


35

Ne zaman -Rbir seçenek kullanıldığında, MacOS grepaçıkça bunu aramak için dizin vermek gerektirir; örneğin, .geçerli dizinde özyinelemeli olarak arama yapmayı belirtin :

grep -R 'networks' .

9

Uzun vadede, GNU tabanlı araçları kurmak veya Ubuntu'yu sanal olarak çalıştırmak muhtemelen en iyisidir. Her ikisi de ücretsiz olarak kullanılabilir.

brew install coreutils( brewkomutu çalıştırmak için , https://brew.sh adresinden homebrew yüklemeniz gerekir ), araçların GNU sürümlerini yolunuza koyacaktır. Coreutils içerdiği içeriği zaman içinde değiştirme eğiliminde olduğundan , ggrepkomutu ve muhtemelen tek başına grepyüklenecek paketi arayın .

(DÜZENLEME: 2018 itibariyle , grepözelliklecoreutils aşağıdakilerden ayrı olarak yüklenmesi gerektiğini unutmayın :

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

ve ggrepiki G'ye sahip benzersiz bir yürütülebilir ada sahiptir.)

Ayrıca burada GNU veya coreutils araması bağlam ve ipuçları / püf noktaları için yararlı olacaktır.


2
En azından şimdi pakete grepdahil değil , kendi paketinde yer alıyorcoreutilsbrewgrep
fejese

2
Ayrıca yürütülebilir dosyaya ggrep(baştaki g) çağrıldığına dikkat edin .
dotancohen

1
Teşekkürler @dotancohen - durumdan eminseniz bir yanıtı düzenlemekten çekinmeyin. Düzeltme geçmişi vardır ve bir değişiklik bir kişi için belirsizse veya daha fazla inceleme / düzenleme yapılması gerekiyorsa her zaman sohbet edebiliriz. Yorum için +1 - tekrar teşekkürler
bmike
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.