Tidak ada file rc untuk grep, tetapi Anda dapat mengatur variabel lingkungan GREP_OPTIONS
ke daftar opsi yang dipisahkan spasi yang akan berlaku untuk semua perintah grep. Ini membutuhkan GNU grep (implementasi pada Linux yang tidak tertanam, Cygwin dan beberapa sistem lainnya) 2.4; yang --exclude
pilihan baru untuk GNU grep 2,5. Tempatkan sesuatu seperti ini di ~/.profile
:
export GREP_OPTIONS='--color=auto --exclude=*.pyc --exclude-dir=.git'
Jika Anda telah melakukan ini tetapi ingin menjalankan grep satu kali tanpa opsi-opsi default itu, Anda dapat menimpanya (mis. grep --color=never
Untuk memaksa warna mati) atau mengosongkan GREP_OPTIONS
variabel dengan menjalankan GREP_OPTIONS= grep …
.
Kemungkinan lain adalah mendefinisikan alias untuk grep. Saya menggunakan varian berikut ini:
alias regrep='grep -Er --exclude=*~ --exclude=*.pyc --exclude-dir=.bzr --exclude-dir=.git --exclude-dir=.svn'
Gilles 'SANGAT berhenti menjadi jahat'
sumber
GREP_OPTIONS
akan memengaruhigrep
panggilan dalam skrip, sedangkan alias tidak. JadiGREP_OPTIONS
harus digunakan hemat. Penggunaan yang paling umum adalah untuk--color=auto
, yang pada prinsipnya tidak berbahaya dalam skrip karena hanya berlaku jika output adalah terminal.ACK dapat melakukan apa yang Anda inginkan dan banyak lagi.
Ini akan mengabaikan file biner secara default dan Anda dapat mengatakan itu untuk mengabaikan tipe file lain yang Anda inginkan
--notext
,--nohtml
, dll memiliki kemampuan untuk menentukan file rc juga sehingga Anda dapat menyesuaikannya dengan jenis Anda sendiri.sumber
Bukan jawaban langsung untuk pertanyaan Anda. Tetapi grep memiliki opsi untuk mengabaikan semua file biner termasuk * .pyc. Pilihannya adalah
-I
sumber
Tidak di GNU
grep
/egrep
, tidak ada.Anda mungkin ingin alias atau skrip khusus untuk melakukan ini, karena suatu hari nanti Anda mungkin akan merasa sangat bingung ketika mencoba mencari sesuatu yang Anda lupa cocok dengan konfigurasi khusus Anda.
sumber
GREP_OPTIONS
di~/.profile
dekat.--color=auto
!