Sử dụng grep rất đơn giản:
grep 'tu_khoa' ten_file1 ten_file2 ten_file3hay sử dụng chức năng pipeline của shell để lấy đầu vào:
cat hehe.txt hoho.c | grep 'return'
Dưới đây là cách dùng các phép OR, AND, NOT với grep:
OR: tu_khoa_mot hoặc tu_khoa_hai
grep -E 'tu_khoa_mot|tu_khoa_hai' file
-E (extended regexp)
AND:
grep -E 'tu_khoa_mot.*tu_khoa_hai' ten_file
NOT: tìm các dòng không chứa tu_khoa
grep -v 'tu_khoa' ten_file
-v (invert match)
(còn nhiều cách khác nhưng bạn không nhất thiết phải biết 5 cách để làm 1 việc làm gì nếu kết quả, hiệu suất của chúng như nhau)
viết trên máy nhà Thồn nên không làm ví dụ được :D
theo http://www.thegeekstuff.com/2011/10/grep-or-and-not-operators/
Neu can tim 1 khoang thay vi 1 dong thi sao
ReplyDelete1 khoảng là sao, tả rõ xem nào?
ReplyDeletekết quả trả về luôn là những dòng, tức là từ đầu dòng cho đến kí tự \n . Nếu tìm trong 1 đoạn vănừ kh thì nó sẽ trả về cả đoạn (chứ ko phải 1 câu, vì nó đánh dấu kết thúc "dòng" bằng kí tự \n). Kết quả trả về thường sẽ highlight từ khóa
ReplyDeleteví dụ cần tìm đoạn
ReplyDelete"kết quả trả về luôn là những dòng, tức là từ đầu dòng cho đến kí tự \n . Nếu tìm trong 1 đoạn vănừ kh thì nó sẽ trả về cả đoạn (chứ ko phải 1 câu, vì nó đánh dấu kết thúc "dòng" bằng kí tự \n). Kết quả trả về thường sẽ highlight từ khóa "
trong 1 bài mà chỉ nhớ từ khóa là "chứ ko phải 1 câu"
thì cứ gõ từ khóa thôi, nó vẫn trả về đoạn ấy. vd gõ grep 'kết quả' thì nó trả về các đoạn có chữ kết quả. Gõ grep 'chứ không phải 1 câu' thì nó trả về đoạn nào chứa từ khóa ấy. (PS: ko biết có hỗ trợ unicode ko, hình như ko )
ReplyDelete