Hướng dẫn ps grep php - ps nắm lấy php
Show
Nội dung chính ShowShow
Nội dung chính
Nội dung chính
Nội dung chính
Nội dung chính 1. Tìm một chuỗi trong một file1. Tìm một chuỗi trong một file
Trong bài trước tôi đã giới thiệu về lệnh find trong linux, nó rất hữu ích trong việc tìm kiếm file. Tiếp tục tìm hiểu về Linux, tôi sẽ trình bày về lệnh grep - nó gíup bạn tìm chuỗi trong file chỉ định. 2. Tìm chuỗi trong nhiều file cùng lúcĐây là cách sử dụng cơ bản và hay gặp nhất, nếu đơn gỉan bạn muốn tìm một chuỗi nào đó trong chỉ một file duy nhất thì có thể dùng theo cú pháp sau :
Kết qủa sẽ hiển thị ngay trên màn hình command line theo dòng nào có chứa chuỗi sẽ hiển thị cả dòng trong file đó ra và chuỗi đó sẽ được highlight.
Để làm được việc này thì bạn cần chỉ định pattern chung của các file muốn thực hiện tìm kiếm :
3. Tìm kiếm không phân biệt hoa thườngVí dụ, tôi tìm chuỗi Error trong tất cả các file log mà chúng được ghi theo từng ngày với for mat report_ddmmyyyy.log :
Khi này kết qủa tìm kiếm sẽ hiển thị ra thêm cả tên file mà có chứa chuỗi Error dạng : 4. Tìm kiếm theo regular expressionBình thường nếu bạn đã chắc chắn chuỗi mình định tìm kiếm như nào và chỉ muốn có kết qủa match 100% chuỗi đó thì ko cần sử dụng thêm lựa chọn -i, khi khai báo thêm nó grep sẽ thực hiện tìm kiếm gần đúng theo kiểu không phân biệt ký tự hoa thường :
Như ví dụ trên thì dù là Error, error hay ERROR ... đi chăng nữa thì bạn cũng sẽ nhận được kết qủa. 5. Tìm chính xác với grep -wNhư bao ngôn ngữ lập trình, việc tìm kiếm theo regular expression luôn được hỗ trợ thì lệnh grep cũng vậy, bạn hoàn toàn có thể chỉ định biểu thức chính quy để tìm kiếm chuỗi match với nó.
6. Hiển thị thêm dòng trước, sau, xung quanh dòng chứa kết qủaTrong grep thì nó cũng giống các ngôn ngữ khác, ví dụ [A-z] tức là match với chỉ kí tự alpha từ A lớn đến z nhỏ, hay dùng [^text] là ko chứa chuỗi text...
Nếu bạn tìm kiếm theo những lệnh trên thì kết qủa trả về sẽ chưa hẳn theo đúng mong muốn của bạn. Kết qủa thường sẽ thừa so với yêu cầu bởi vì grep sẽ tìm theo cả chuỗi con, ví dụ tìm no thì not, nothing cũng có chứa chuỗi no nên cũng sẽ trả về kết qủa. Do đó, nếu bạn muốn tìm chính xác từ mong muốn thì có thể dùng lựa chọn -w.
7. Tìm tất cả các file ở tất cả các thư mục con8. Tìm kiếm ngược
9. Đếm số kết qủa 08. Tìm kiếm ngược9. Đếm số kết qủa 19. Đếm số kết qủagrep hoàn toàn có thể hỗ trợ bạn đếm xem trong file chỉ định có bao nhiêu kết qủa trả về bằng cách dùng -c. Ví dụ như đếm xem có bao nhiêu bản ghi được insert trong file log. 210. Chỉ hiển thị tên fileĐơn gỉan là vậy, sẽ có case bạn chỉ quan tâm xem từ khóa bạn đang tìm xuất hiện trong những file nào thôi. Lúc đó hãy dùng lựa chọn -l 311. Hiển thị số thứ tự của dòng kết qủaTrong một file rất lớn thì nhu cầu biết được xem kết qủa ở dòng nào thì tôi nghĩ luôn là cần thiết. grep hoàn toàn làm được điều này với lựa chọn -n. 412. Ứng dụngTrong thực tế tôi hay gặp nhất có lẽ là lệnh kép kiểm tra xem một chương trình nào đó có đang chạy hay không, bằng cách kết hợp ps và grep. Ví dụ, với project Java thì đôi khi service tomcat đôi khi vì lý do nào đó mà nó bị chết nhưng tiến trình thì vẫn còn nên cần vào kill tiến trình đó đi rồi start lại. Tôi hay dùng lệnh sau để biết được id tiến trình của tomcat 5Hy vọng với những kiến thức cơ bản về lệnh grep trên thì các bạn có thể ứng dụng được trong thực tế sử dụng hệ điều hành Linux. Thanks. |