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.
catmột mình có thể không thể, nhưng nếu bạn không muốn sử dụng headtác phẩm này:
cat <file> | awk 'NR == 1'
cat, phải không.
awkrấ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ư headhoặc awk.
IFS=một phần ngay từ đầu?
IFSsẽ 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