Thay thế lệnh grep bằng grep -n - màu?


17

Bởi vì tôi lười biếng .... bất cứ khi nào tôi muốn sử dụng grep, tôi muốn nó là grep -n - màu. Có cách nào để lập bản đồ vĩnh viễn này?


6
+1 cho "Vì tôi lười ...". Bao giờ được coi là một nghề nghiệp như một nhà phát triển? :)
dr Hannibal Lecter

Câu trả lời:


31

Trong tệp $ HOME / .bashrc của bạn, hãy thêm:

export GREP_OPTIONS="-n --color"

Điều này sẽ làm việc với egrepquá và trong các bí danh sử dụng grep.

Cập nhật : GREP_OPTIONS không được dùng từ grep 2.21 trở đi và nếu bạn sử dụng giải pháp này, bạn sẽ thấy cảnh báo sau:

grep: warning: GREP_OPTIONS is deprecated; please use an alias or script

Do đó, giải pháp tốt nhất là làm theo lời khuyên của maco trong câu trả lời của anh ấy . Hoặc chuyển sang sử dụng ag , đầu ra có màu theo mặc định.


sự tôn trọng.
myusuf3

4
Tôn trọng nhưng không upvote, eh? ;-)
richq

1
Bí danh có thể được sử dụng sau một đường ống tốt. Họ không tái phạm.
maco

1
Này này, tôi ủng hộ. Tôi thích điều này tốt hơn bí danh.
Dmitriy Likhten

@marco: bạn nói đúng (với bash) - Tôi đã nghĩ về csh, nơi họ không thể. Giáo sư!
richq

29

Chỉnh sửa ~ / .bash_aliases Thêm một dòng có nội dung:

alias grep='grep -n --color'

~ / .bash_aliases được tự động bao gồm bởi ~ / .bashrc nếu nó tồn tại


8
Hoặc thêm dòng vào .profilenếu bạn muốn nó hoạt động trong tất cả các shell chứ không chỉ bash.
LassePoulsen

1
điều này sẽ không hoạt động với xargs, ví dụ:find /usr/share -name '*.txt' |xargs grep testing
rfabbri

2

bạn có thể sửa đổi tệp .bashrc trong thư mục chính của bạn xác định bí danh, sẽ ghi đè mọi cài đặt mặc định:

bí danh grep = 'grep -n --color'

sau khi thay đổi đóng và mở lại thiết bị đầu cuối vì tệp chỉ được đọc khi bạn mở thiết bị đầu cuối.

Nếu bạn xem tệp .bashrc, bạn sẽ tìm thấy nhiều bí danh mặc định như:

bí danh ll = 'ls -l'

bí danh la = 'ls -A'

bí danh l = 'ls -CF'


1

Tạo một tập lệnh ngoài một bí danh được đề cập trong các câu trả lời khác. Một bí danh tự nó sẽ không luôn hoạt động và một lớp script đủ nhanh để có thể đọc được mọi người.

Chọn một tên ngắn, như cgrep:

#!/bin/sh
grep --color -n "$@"

Đặt nó trong đường dẫn của bạn, giả sử ~/bin(nếu bạn đọc UPE thì đây là đường dẫn của bạn :). Sau đó, những thứ như thế này sẽ hoạt động:

find /usr/share -name '*.txt' | xargs cgrep testing

Tôi vẫn không vui lắm, tôi cũng muốn grep luôn luôn tô màu khi xuất ra thiết bị đầu cuối mà không cần chọn cgrep.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.