Saya memiliki salinan lokal svn, saya ingin melakukan pencarian pada string some_string.
$ grep some_string * -r
lang/en:some_string=Some string
lang/.svn/en:some_string=Some string
Tetapi jika melangkah lebih jauh, tampaknya direktori tersembunyi level pertama tidak termasuk:
$ cd lang && grep some_string * -r
en:some_string=Some string
Bagaimana saya bisa menghapus direktori svn tersembunyi dari output saya, dan tidak hanya dari level kedalaman pertama?
$ grep some_string * -r --which_option_here?
lang/en:some_string=Some string
Jawaban:
Gunakan
--exclude-dir
opsi, misalnya:Dari
man grep
:Namun perlu dicatat,
--exclude-dir
opsi itu hanya tersedia di GNU grep. Jika Andagrep
tidak mendukungnya, Anda mungkin perlu menggunakan alat lain seperti temukan misalnya :sumber
find
versi jika grep Anda tidak mendukung--exclude-dir
.--exclude-dir
, sudahkah Anda mencobanya?Saya biasanya menggunakan ini:
${e%\./}
akan menghapus yang pertama./
dan kemudiangrep
menghapus semua yang dimulai dengan titik.sumber
e#
, teks mengatakane%