Uczę się awk/gawk. Tak niedawno próbuję rozwiązać każdy problem, aby uzyskać więcej okazji do ćwiczeń.jaki jest najprostszy sposób na usunięcie pierwszej i ostatniej linii z pliku za pomocą awk?
Mój współpracownik zadał pytanie wczoraj,
"jak usunąć pierwszy i ostatni wiersz z pliku"
. Wiem, że zadziała sed '1d;$d' file
. również head/tail
działa również, nawet jeśli słaba wydajność. Powiedziałem mu sed, był szczęśliwy.
Później próbowałem napisał awk jedno-liner: tak daleko, co mam jest:
awk 'NR>1{a[++k]=$0}END{for(i=1;i<k;i++)print a[i]}'
To będzie przechowywać cały plik w tablicy po prostu pominąć ostatnią linię. Czuję, że nie powinno być łatwiejsze (lub lepszy) sposób to zrobić ..
(jeśli nie ma łatwiejsze i szybsze i lepiej jest, by usunąć pytanie)
dziękuję.
TAK !!! Ja też w ten sposób, ale dał mi "NR> 1", po czym zrezygnowałem ... urrrr. w ogóle nie myślałem o NR> 2, jak głupio! .. świetnie! Dziękuję Ci! w górę! – Imagination
potrzebujesz poczekać kilka minut, aby oznaczyć jako zaakceptuj .... – Imagination
Umysł wyjaśniający nieco więcej magii? – eMPee584