2012-01-13 11 views

Odpowiedz

51

Zastosowanie ogon:

tail -n+3 file 

ze strony człowieka:

-n, --lines=K 
      output the last K lines, instead of the last 10; or use -n +K 
      to output lines starting with the Kth 
+4

Powinien być +3 (start na trzeciej linii) ... – cmbuckley

+0

Musi być 'tail -n + 3 file', ale dzięki! – Amit

16

jesteś prawie tam. Spróbować zamiast:

awk 'NR > 2 { print }' myfile 

awk zasada opiera, zasada wydaje gołe (to znaczy, bez nawiasów) przed blokiem woud to wykonać, gdy przechodzi.

również jako Jaypal wskazał, w awk, jeśli wszystko, co chcesz zrobić, to wydrukować wiersz, który pasuje do zasady można nawet pominąć działania, co upraszcza polecenie:

awk 'NR > 2' myfile 
+0

Mógłby też wstawić 'if' przed nawiasami, choć twoja droga jest lepsza, ponieważ nie angażuje się w każdą linię, tylko te, które już pasują. –

+1

Nie potrzebujesz nawet '{print}'. 'awkish' way byłoby' awk 'NR> 2' myfile' –

20

Jak o:

tail +3 file 

lub

awk 'NR>2' file 

lub

sed '1,2d' file 
+1

Inny wariant sed: 'sed -n '3, $ p' file' – anubhava

4

awk jest oparty na oświadczeniach pattern{action}. W twoim przypadku numer pattern to NR>2, a action, który chcesz wykonać, to print. Ten numer action jest również default action z awk.

Więc chociaż

awk 'NR>2{print}' filename

będzie działać poprawnie, można go skrócić do

awk 'NR>2' filename.

Powiązane problemy