Tôi đang cố gắng tìm số trận đấu cho một chuỗi nhất định trong một dự án lớn. Hiện tại, để thực hiện việc này với ag
Tôi đang sử dụng lệnh sau:Đếm tổng số trận đấu trong thư mục với ag
$ echo 0$(ag -c searchterm | sed -e "s/^.*:/+/") | bc
rõ ràng là hơi dài và không trực quan. Có cách nào tốt hơn để nhận tổng số trận đấu trong một thư mục từ ag
không? Tôi đã đào tạo tài liệu và không thể tìm thấy bất cứ điều gì hữu ích ở đó.
Edit: Nhờ một recent commit-ag
, các tên tập tin có thể bị tước bằng ag
thay vì sed
, vì vậy đây cũng làm việc:
$ echo `ag test -c --nofilename | sed "s/$/+/"`0 | bc
Lưu ý: Tôi nhận ra tôi có thể làm điều này với ack -hcl searchterm
(Vâng, gần như Trong trường hợp cụ thể của tôi, tôi cũng cần một số --ignore-dir building
), nhưng vì đây là một dự án lớn (và sẽ tăng lên đáng kể), tốc độ tăng thêm được cung cấp bởi ag
làm cho nó trở nên thích hợp hơn (ack
mất khoảng 3 giây) tìm kiếm so với kết quả gần như tức thời của ag
), vì vậy tôi muốn sử dụng k với nó.
Bạn đã bao giờ tìm thấy câu trả lời cho câu hỏi này? – jjaderberg
@jjaderberg Không chính xác. Tùy chọn tốt nhất có vẻ là tùy chọn '--stats', sau đó phân tích cú pháp đúng dòng. (ví dụ: 'ag --stats searchterm | tail -n 5 | head -n 1'). Tôi cũng đã gửi một yêu cầu kéo cho một tùy chọn '--stats-only' để ngăn chặn bất cứ điều gì khác được in, trong trường hợp đó' ag --stats searchterm | đầu -n 1' sẽ nhận được số trận đấu. Trong cả hai trường hợp đó, bạn vẫn cần phải lọc ra "kết quả phù hợp" để có được chỉ số mặc dù. – SnoringFrog