Поддерживается ли "tail +2" в Linux? - PullRequest
9 голосов
/ 31 мая 2011

Я заметил, что в Solaris ksh поддерживается tail +2, но в Red Hat Linux возникает ошибка:

c008>> ps -p 4009,6282,31401,31409 | tail +2
tail: cannot open `+2' for reading: No such file or directory

Находясь в Солярисе,

bjbldd>> ps -p 2622,16589,11719,846 |tail +2
16589 ??       0:00 xterm
  846 pts/180  0:00 cscope
11719 pts/180  0:00 cscope
2622 pts/114  0:00 apxcscop

Строка PID TTY TIME CMD исключается "tail +2".

Я знаю, grep -v PID будет работать. Но мне интересно, есть ли похожие варианты для Linux tail?

Ответы [ 2 ]

18 голосов
/ 31 мая 2011

С tail(1):

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

Так что попробуйте -n +2 или --lines=+2:

$ ps -p 20085 9530 29993 2069 2012 | tail -n +2
 2012 ?        Sl     0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
 2069 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session i3
 9530 ?        Sl     0:01 /usr/lib/udisks/udisks-daemon
20085 ?        S      0:00 /usr/sbin/apache2 -k start
29993 ?        S      0:00 [kworker/1:0]
$ 
1 голос
/ 27 февраля 2014

Я был знаком с синтаксисом tail +2 в Solaris, но, похоже, он не работает в Ubuntu.

Этот ответ от суперпользователя, кажется, работает:

tail --lines=+100 <file> 

Источник: https://superuser.com/questions/62970/unix-cat-starting-from-line

...