Dizindeki tüm JavaScript dosyalarındaki 'init()' işlev çağrısı için grep çağırmak istiyorum. Bunu grep kullanarak nasıl yapabilirim?Grep'teki parantezden nasıl ayrılır
Özellikle, parantezden nasıl ayrılırım ()
?
Dizindeki tüm JavaScript dosyalarındaki 'init()' işlev çağrısı için grep çağırmak istiyorum. Bunu grep kullanarak nasıl yapabilirim?Grep'teki parantezden nasıl ayrılır
Özellikle, parantezden nasıl ayrılırım ()
?
Bu, bağlıdır. Düzenli grep kullanıyorsanız, kaçamaz:
echo '(foo)'|grep '(fo*)'
Sen aslında grup olarak parantez kullanmak istiyorsanız kaçmak zorunda. Eğer extended regular expressions kullanırsanız
, kaçmak yok:
echo '(foo)'|grep -E '\(fo*\)'
$ echo "init()" | grep -Erin 'init\([^)]*\)'
1:init()
$ echo "init(test)" | grep -Erin 'init\([^)]*\)'
1:init(test)
$ echo "initwhat" | grep -Erin 'init\([^)]*\)'
Bu yanlış. Varsayılan olarak ters eğimli parensler yakalama grupları oluşturduğundan, "init ne olursa olsun" ile kolayca eşleşecektir. Yukarıda söylediğim gibi, normal grep ile parka kaçma. –
Bunun iyi olduğuna inanıyorum çünkü '-E' egrep'e eşdeğerdir. Tüm alt klasörleri tekrar tekrar çağırmak için – gkanwar
Taşı kök dizinine (JavaScript dosyalarıdır nerede farkında iseniz). Sonra aşağıdakileri yapın. Eğer "() init" tam dize aramak istiyorsanız
grep 'init()' *.js
parametresini ekleyin. – hejiaming007
sonra fgrep "init()"
veya grep -F "init()"
kullanın.
Bunların her ikisi de, sabit dize eşleştirmesi yapar, yani deseni normal ifadeler olarak değil de aramak için düz bir dize olarak ele alır. Ben regex arama yapmaktan daha hızlı olduğuna inanıyorum.
Dizinde grep -rin init() * kullandığımda, beklenmedik belirtecin yakınında sözdizimi hatasıyla karşılaşır (Bunu nasıl düzeltirim. –
Üzgünüm, anlayamadım. Birkaç javascript dosyası var. init() işlevi birkaç yerde aradı.It dizininde grep -rin init() * kullanarak tüm init() çağrısının nerede olduğunu öğrenmek istiyorum.Itki geçersiz sözdizimi hakkında şikayet ediyor. –
@Megha, sadece açıklığa kavuşturmak için bir kabuk hatasıydı, çünkü regex'den alıntı yapmadı. –