Câu trả lời:
Bạn không cần cat
.
head -1 file
sẽ hoạt động tốt
head
đọc toàn bộ tập tin và cắt nó, hoặc nó chỉ đọc 1 dòng?
cat <(head file1) <(head file2)
. Nguồn
Bạn có thể sử dụng cat file.txt | head -1
, nhưng có lẽ tốt hơn là sử dụng đầu trực tiếp, như trong head -1 file.txt
.
cat
một mình có thể không thể, nhưng nếu bạn không muốn sử dụng head
tác phẩm này:
cat <file> | awk 'NR == 1'
cat
, phải không.
awk
rất tuyệt, nhưng bạn không cần cat
ở đây. awk 'NR == 2 {print $0}' <file>
làm điều tương tự (Và nhiều hơn nữa, nếu bạn học được một chút awk
.
Tôi ngạc nhiên rằng câu hỏi này đã tồn tại chừng nào nó còn chưa có ai cung cấp cách tiếp cận tích hợp sẵn cho mapfile.
IFS= read -r first_line <file
... Đặt dòng đầu tiên của tệp vào biến được mở rộng bằng "$first_line"
, dễ dàng như vậy.
Hơn nữa, vì read
được tích hợp vào bash và việc sử dụng này không đòi hỏi phải có lớp con, nó hiệu quả hơn đáng kể so với các cách tiếp cận liên quan đến các quy trình con như head
hoặc awk
.
IFS=
một phần ngay từ đầu?
IFS
sẽ ngăn không cho khoảng trắng đầu và cuối bị xóa khỏi chuỗi được đọc.
Sử dụng lệnh dưới đây để lấy hàng đầu tiên từ tệp CSV hoặc bất kỳ định dạng tệp nào.
head -1 FileName.csv