Tôi đang học awk/gawk. Vì vậy, gần đây tôi chỉ cố gắng giải quyết bất kỳ vấn đề với nó để đạt được nhiều cơ hội thực hành hơn.cách dễ nhất để loại bỏ dòng 1 và dòng cuối cùng khỏi tệp với awk là gì?
Đồng nghiệp của tôi hỏi một câu hỏi ngày hôm qua,
"làm thế nào để loại bỏ dòng đầu tiên và cuối cùng từ tập tin"
. Tôi biết rằng sed '1d;$d' file
sẽ hoạt động. cũng head/tail
cũng hoạt động ngay cả khi hiệu suất kém. Tôi đã nói với anh ta một sed, anh ấy hạnh phúc.
Sau đó, tôi đã cố gắng để viết một awk một liner: cho đến nay những gì tôi nhận được là:
awk 'NR>1{a[++k]=$0}END{for(i=1;i<k;i++)print a[i]}'
này sẽ lưu trữ toàn bộ file trong mảng chỉ để bỏ qua những dòng cuối cùng. Tôi cảm thấy rằng có phải là một cách dễ dàng hơn (hoặc cao hơn) để làm điều đó ..
(nếu không có dễ dàng hơn hoặc nhanh hơn hoặc cách tốt hơn, tôi sẽ loại bỏ các câu hỏi)
cảm ơn bạn.
CÓ !!! Tôi mặc dù theo cách này quá, nhưng đã cho 'NR> 1' .. sau đó đã từ bỏ ... urrrr. không nghĩ về NR> 2 chút nào, thật là ngu ngốc! .. tuyệt vời! cảm ơn bạn! lên! – Imagination
cần chờ một vài phút để đánh dấu là chấp nhận .... – Imagination
Tâm giải thích bit ma thuật chi tiết hơn? – eMPee584