Jawaban:
Dalam file $ HOME / .bashrc Anda, tambahkan:
export GREP_OPTIONS="-n --color"
Ini akan bekerja dengan egrepterlalu dan alias yang menggunakan grep.
Pembaruan : GREP_OPTIONS sudah usang dari grep 2.21 pada dan jika Anda menggunakan solusi ini, Anda akan melihat peringatan berikut:
grep: warning: GREP_OPTIONS is deprecated; please use an alias or script
Solusi terbaik adalah karena itu mengikuti nasihat maco dalam jawabannya . Atau beralih ke menggunakan ag , yang menampilkan warna secara default.
Edit ~ / .bash_aliases Tambahkan baris yang mengatakan:
alias grep='grep -n --color'
~ / .bash_aliases secara otomatis disertakan oleh ~ / .bashrc jika ada
.profilejika Anda ingin bekerja di semua shell bukan hanya bash.
find /usr/share -name '*.txt' |xargs grep testing
Anda dapat memodifikasi file .bashrc yang terletak di direktori home Anda dengan mendefinisikan alias, yang akan menimpa pengaturan default apa pun:
alias grep = 'grep -n --color'
setelah perubahan tutup dan buka terminal lagi karena file hanya dibaca ketika Anda membuka terminal.
Jika Anda melihat pada file .bashrc Anda akan menemukan lebih banyak alias default seperti:
alias ll = 'ls -l'
alias la = 'ls -A'
alias l = 'ls -CF'
Buat skrip di samping alias yang disebutkan dalam jawaban lain. Alias dengan sendirinya tidak akan selalu berfungsi, dan lapisan skrip cukup cepat untuk keluaran yang dapat dibaca manusia.
Pilih nama pendek, seperti cgrep:
#!/bin/sh
grep --color -n "$@"
Tempatkan di jalur Anda, katakan ~/bin(jika Anda membaca PDU ini di jalur Anda :). Maka hal-hal seperti ini akan berhasil:
find /usr/share -name '*.txt' | xargs cgrep testing
Aku masih tidak begitu senang, aku juga ingin grep selalu warna ketika stdout ke terminal tanpa mengetik cgrep secara selektif.