jaki jest najprostszy sposób usunięcia pierwszego i ostatniego wiersza z pliku za pomocą awk?

Uczę się awk / gawk. Niedawno więc próbuję rozwiązać z nim każdy problem, aby zyskać więcej okazji do ćwiczeń.

Mój współpracownik zadał wczoraj pytanie,

„jak usunąć pierwszy i ostatni wiersz z pliku”

. wiem tosed '1d;$d' file pracowałbym. równieżhead/tail działa nawet, jeśli słaba wydajność. Powiedziałem mu sed, był szczęśliwy.

Później próbowałem napisać jeden liner awk: do tej pory mam to:

awk 'NR>1{a[++k]=$0}END{for(i=1;i<k;i++)print a[i]}'

Spowoduje to zapisanie całego pliku w tablicy, aby pominąć ostatnią linię. Czuję, że powinien istnieć łatwiejszy (lub lepszy) sposób na zrobienie tego ..

(jeśli nie ma łatwiejszego lub szybszego lub lepszego sposobu, usunę pytanie)

Dziękuję Ci.

questionAnswers(3)

yourAnswerToTheQuestion