Điểm:-4

Tôi có thể tạo công cụ tìm kiếm grep tùy chỉnh của riêng mình không?

lá cờ in

Tôi đang cố tìm một thiết bị cụ thể trên máy của mình. Vì vậy, tôi đã gõ vào lspci. Điều này đã cho tôi một danh sách lớn các mặt hàng. Quá lớn để liên tục nhìn qua xem thiết bị của tôi có còn được gắn vào hay không. Vì vậy, tôi đã chạy:

lspci | grep nvidia

Điều này không trả lại gì. Vì vậy, tôi đã thử "Nvidia" và tôi không nhận được gì và cuối cùng tôi đã thử "NVIDIA" và đó là lúc tôi thành công.

Grep có vẻ như là một công cụ tuyệt vời tuy nhiên nó có một số hạn chế rõ ràng.Có thể viết chức năng loại tìm kiếm của riêng tôi để hoàn thành tác vụ này và bao gồm tất cả các trường hợp trong chuỗi không?

Nếu vậy, liệu có ai có thể chỉ cho tôi đi đúng hướng để học cách thực hiện việc này không. Ngay cả khi đó là một số tài liệu tôi có thể đọc về chủ đề này thì nó sẽ rất tuyệt.

Ngay cả khi tôi mất một tháng, tôi vẫn muốn học cách phát triển công cụ của riêng mình với chức năng đó.

Cảm ơn.

TomE avatar
lá cờ br
Hãy thử thực hiện "man grep" trong thiết bị đầu cuối để nhận hướng dẫn sử dụng. Grep là một công cụ rất mạnh mẽ. Chẳng hạn, để thực hiện những gì bạn đang cố gắng thực hiện, chỉ cần thêm tùy chọn -i để phân biệt chữ hoa chữ thường như sau: lspci |grep -i nvidia
pLumo avatar
lá cờ in
Hiệu suất rất kém so với `grep`, nhưng điều này hoạt động: `grepi(){ shopt -s nocasematch; trong khi IFS= đọc dòng; do [[ "$line" =~ $1 ]] && printf '%s\n' "$line"; xong;}` --> `lspci | grep nvidia`. Tuy nhiên, imo, đây là một câu hỏi lập trình và do đó không có chủ đề ở đây.
Điểm:6
lá cờ cn

người đàn ông sẽ cung cấp cho bạn thông tin về cách sử dụng grep. Các -tôi tùy chọn sẽ làm những gì bạn đang tìm kiếm: bỏ qua trường hợp. Như vậy, một lệnh

lspci | grep -i nvidia

sẽ lấy được NVIDIA.

Nếu bạn muốn tạo công cụ của riêng mình, một cách dễ dàng là xác định bí danh:

bí danh 'grep=grep -i'

tùy chỉnh này tiếng kêu lệnh sẽ ngụ ý -tôi tùy chọn mỗi khi bạn chạy tiếng kêu. Sau khi xác định bí danh, lệnh ban đầu của bạn sẽ hoạt động theo cách bạn muốn. Không cần phải lập trình thêm công cụ của riêng bạn.

Định nghĩa bí danh này chỉ hợp lệ cho phiên hiện tại. Để bật tùy chọn vĩnh viễn, hãy mở ~/.bashrc tệp bằng trình soạn thảo văn bản và thêm -tôi tùy chọn trong bí danh định nghĩa đã có sẵn:

bí danh grep='grep -i --color=auto'

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.