Câu trả lời:
Nếu phiên bản của bạn wc
và find
hỗ trợ các tùy chọn cần thiết:
find . -name pattern -print0 | wc -l --files0-from=-
sẽ cung cấp cho bạn số lượng mỗi tệp cũng như tổng số. Nếu bạn chỉ muốn tổng số:
find . -name pattern -print0 | wc -l --files0-from=- | tail -n 1
Một tùy chọn khác cho các phiên bản find
hỗ trợ nó:
find . -name pattern -exec cat {} + | wc -l
Thật không may, đầu ra của:
find . -iname "yourpattern" -exec cat '{}' \; |wc -l
chèn thêm dòng. Để có được số lượng dòng đáng tin cậy, bạn nên làm:
find . -name "yourpattern" -print0 | xargs -0 wc -l
Bằng cách này, bạn xử lý các khoảng trắng một cách chính xác, lấy số lượng dòng cho mỗi tệp và tổng số dòng, nhanh hơn và đúng kiểu !!!
Một cách dễ dàng khác để tìm không. dòng trong một tập tin:
wc -l filename
Thí dụ:
wc -l myfile.txt
Chưa được kiểm tra, nhưng làm thế nào về một cái gì đó như:
cat `find . -name "searchterm" -print` | wc -l
wc -l `find -name filename`
sẽ làm việc hiệu quả.