Dizin veya LINUX içinde bir dizinde ve tüm altdizinler'filesinde bir metin veya grep nasıl?Dizinde ve tüm alt dizinlerinin dosyalarında LINUX'da bir dize nasıl kopyalanır?
cevap
sizin grep -R
destekliyorsa, yapın:
grep -R 'string' dir/
Değilse, o zaman kullanmak find
:
find dir/ -type f -exec grep -H 'string' {} +
grep -r -e string directory
-r
özyinelemeli içindir; -e
isteğe bağlıdır, ancak argümanı aranacak normal ifadeyi belirtir. İlginç bir şekilde, POSIX grep
, -r
(veya -R
), ancak 'u desteklemek için gerekli değildir, pratikte, Sistem V uygulamada (hemen hemen). grep
'un uygulamada olduğundan eminim, yanigrep
'un bazı sürümleri -R
'un yanı sıra (veya bunun yerine) -r
; AFAICT, aynı şey anlamına gelir.
Oldukça eminim ki SVR3.2 ve SVR4 grep, o zaman çerçevesi içinde SYSV ürünleri için OS geliştirme üzerinde çalıştığı gibi, ve ben de o zaman sarmak için bir rgrep kabuk betiği vardı. Yine de test etmek için bir tane daha yok. –
@RandyHoward: Teşekkürler! SVR3.2 ve SVR4.0, hafızamın hatalı olduğunu bulmak için şaşırmadığım yeterince antika. –
'-R ', –
"grep -r" veya "grep -R" ile karşılaştığınız sorunlarla ilgili herhangi bir geri bildirim sağlayabilecek misiniz? Makinenizdeki 'grep' için man sayfasını kontrol ettiniz mi? Herhangi bir metakarakter içeriyorsa normal ifadeyi (dize veya metin) tek tırnak içine almayı hatırladınız mı? –