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.