Đây không phải là một cái gì đó greplàm. Bản thân tên "grep" là từ viết tắt của " toàn cầu tìm kiếm một biểu thức chính quy và in", đó là những gì edlệnh g/re/pthực hiện (đối với một biểu thức chính quy định re).
edlà một trình chỉnh sửa dòng tương tác từ năm 1969, nhưng rất có thể nó đã được cài đặt trên hệ thống của bạn ngày hôm nay. Chúng tôi đã nhận greptừ ed, và nó có thể được xem như một phím tắt hoặc bí danh cho một chức năng cụ thể của ed, và sed, đó là "stream- ed", tức là một (không tương tác) biên tập suối.
Hãy sử dụng sedthay thế:
$ sed -n '1p' file.txt
Các 1pchuỗi là một nhỏ sed"kịch bản" mà bản in ( p) dòng tương ứng với địa chỉ nhất định ( 1, dòng đầu tiên). Lệnh chỉnh sửa 1psẽ (không có gì bất ngờ) làm điều tương tự trong edtrình chỉnh sửa .
Việc -nngăn chặn đầu ra của bất cứ thứ gì không được in rõ ràng bởi tập lệnh, vì vậy tất cả những gì chúng ta nhận được là dòng đầu tiên của tệp file.txt.
Cách khác:
$ sed '1q' file.txt
Điều này in tất cả các dòng của tệp, nhưng thoát ( q) ở dòng 1 (sau khi in). Điều này chính xác tương đương với head -n 1 file.txt.
Trong tiêu chuẩn POSIX, nó nói (khái quát hóa) head -n Ngiống như sed 'Nq'"in mọi dòng, nhưng thoát khỏi dòng N". Lý do headđược bao gồm trong tiêu chuẩn hoàn toàn là do tính đối xứng với tail(và khả năng tương thích ngược với các triển khai Unix hiện có).
head -1 file.txtkhông làm việc?