2015-03-21 13 views
5

Tôi có một tập tin lớn, các dòng giống như thế này Số văn bản, vv [Man- (một số chữ số)] rất nhiều Man-somenumbers này được lặp lại trong vài dòng, tôi muốn để chỉ tính duy nhất Mans -words. Tôi không thể sử dụng tập tin duy nhất, bởi vì văn bản trước khi người đàn ông từ luôn khác nhau trong mỗi dòng. Làm cách nào để tôi chỉ đếm được các từ duy nhất có trong Man-somenumbers trong hồ sơ?Cách tìm các từ duy nhất từ ​​tập tin linux

+0

Kết hợp 'grep' và' wc' hoặc 'lc' phải là một khởi đầu tốt. – arkascha

Trả lời

6

Nếu tôi hiểu những gì bạn muốn làm một cách chính xác, sau đó

grep -oE 'Man-[0-9]+' filename | sort | uniq -c 

nên làm các trick. Nó hoạt động như sau: Đầu tiên

grep -oE 'Man-[0-9]+' filename 

tách tất cả các từ khỏi tệp khớp với biểu thức chính quy Man-[0-9]+. Danh sách đó sau đó được chuyển qua sort để có danh sách được sắp xếp mà uniq yêu cầu và sau đó danh sách được sắp xếp đó được luồn qua uniq -c để đếm tần suất mỗi từ Man- độc đáo xuất hiện.

+0

Nó hoạt động mà không có tùy chọn -o. Khi sử dụng tùy chọn -o nó cho biết tùy chọn không hợp lệ. Tôi đang sử dụng các cửa sổ và sử dụng các lệnh bên trong GIT BASH từ cài đặt GIT. –

Các vấn đề liên quan