Tôi đã tự hỏi nếu có một cách hiệu quả hơn để hoàn thành công việc này. Tôi đang làm việc với các tệp có số dòng từ vài trăm nghìn đến vài triệu. Giả sử tôi biết rằng các dòng 100.000 - 125.000 là các dòng chứa dữ liệu tôi đang tìm kiếm. Tôi muốn biết nếu có một cách nhanh chóng để kéo chỉ những dòng mong muốn từ tập tin. Hiện tại, tôi đang sử dụng vòng lặp với grep như sau:bash kéo một số dòng nhất định từ một tệp
for ((i=$start_fid; i<=$end_fid; i++))
do
grep "^$i " fulldbdir_new >> new_dbdir${bscnt}
done
Làm việc tốt chỉ mất nhiều thời gian hơn tôi muốn. Và các dòng chứa nhiều hơn chỉ là số. Về cơ bản, mỗi dòng có khoảng 10 trường với số thứ nhất là số nguyên tuần tự chỉ xuất hiện một lần cho mỗi tệp.
Tôi cảm thấy thoải mái khi viết bằng C nếu cần.
thêm một số hiệu quả với 'sed -n' 100000,125000p; 125001q'' –
Tuyệt vời! Cảm ơn cho rằng – Costa
Tôi nghĩ rằng câu trả lời này sẽ làm việc cho tôi, những gì hiện các p và q đứng sau 125000 và 125001 tương ứng? – mike