[ad_1]
grep
là một tiện ích tìm kiếm trong Linux được sử dụng để đối sánh nội dung. Theo mặc định, nó sẽ in ra bất kỳ dòng nào phù hợp, có thể bao gồm nhiều đầu ra. Nếu bạn chỉ quan tâm đến trận đấu đầu tiên, bạn có thể giới hạn đầu ra chỉ ở dòng đầu tiên.
Giới hạn đầu ra với grep -m
Các grep
lệnh có một -m
hoặc --max-count
tham sốr, có thể giải quyết vấn đề này, nhưng nó có thể không hoạt động như bạn mong đợi.
Bạn Đang Xem: Làm thế nào để in trận đấu đầu tiên và dừng lại với Grep
Tham số này sẽ làm cho grep
dừng đối sánh sau khi tìm thấy N dòng phù hợp, điều này hoạt động tốt vì nó sẽ giới hạn đầu ra ở một dòng, luôn chứa kết quả khớp đầu tiên. Chúng tôi có thể xác minh điều này với -n
cờ để in số dòng.
grep -m 1 "foo" file
Xem Thêm : 7 cách hàng đầu để sửa lỗi mã thoát 0
Tuy nhiên, điều này có một số mặt trái mà bạn cần lưu ý. Nó không dừng lại sau N diêmnó dừng lại sau N dòng. Điều này sẽ gây ra grep
để khớp nhiều lần trên mỗi dòng, điều này có thể gây ra vấn đề khi sử dụng với -o
cờ, in mỗi trận đấu trên một dòng mới.
Ngoài ra, nó chỉ có N dòng mỗi tập tinvì vậy khi được sử dụng với nhiều tệp, nó sẽ in ra dòng phù hợp đầu tiên cho mỗi tệp.
Sử dụng đầu để giới hạn đầu ra grep
Cách thay thế là chuyển đầu ra đến một lệnh khác, head
, điều này sẽ đơn giản là cắt đầu vào sau N dòng. Nó vẫn còn một chút hữu ích để sử dụng -m 1
với grep
tuy nhiên, vì nó sẽ ngừng xử lý các tệp lớn nếu tìm thấy khớp sớm.
grep "foo" file_one.txt | head -1
Xem Thêm : Cách cài đặt Windows 11 trên PC của bạn
Điều này hoạt động với -o
cờ để chỉ in kết quả phù hợp đầu tiên, ngay cả khi có nhiều kết quả phù hợp trong một tệp:
Tuy nhiên, hãy cẩn thận khi sử dụng điều này với nhiều tệp. Sử dụng head
sẽ in dòng phù hợp đầu tiên trong bất kỳ tệp nào. Đây có thể là một vấn đề như grep
in đầu ra theo thứ tự nó xử lý các tệp và bạn có thể không biết thứ tự các tệp sẽ được xử lý trừ khi bạn sắp xếp chúng theo cách thủ công trước khi chuyển chúng đến grep
.
Tương tự, bạn cũng có thể sử dụng tail
để in dòng phù hợp cuối cùng.
[ad_2]
Nguồn: https://maytinhvang.com
Danh mục: TIN HỌC