Pada OSX grep dapatkah saya menggunakan tampilan depan?

1

Ini bekerja:

$ echo "$Foo" | grep "Android SDK Build-tools" | grep -Eo "\d+(?:-)"
4-
5-
6-
7-
8-
9-

Ini tidak:

$ echo "$Foo" | grep "Android SDK Build-tools" | grep -Eo "\d+(?=-)"
grep: repetition-operator operand invalid

Bisakah saya menggunakan lookahead jika saya ingin menggunakan grep versi OSX yang disediakan?

Kit Sunde
sumber

Jawaban:

1

grep di macOS tidak mendukung lookahead. Untuk informasi lebih lanjut tentang sintaks regex yang didukung dalam binari macOS default, lihat format ulang (7) .

Jika Anda perlu menggunakan regex seperti itu, Anda dapat menginstal GNU grep dengan Homebrew ( brew install grep ) dan gunakan opsi -P untuk mengaktifkan sintaks Perl regex yang mendukung regex Anda.

grg
sumber