Подтвердить что ты не робот

Bash - как удалить первые 2 строки с вывода

У меня есть следующий вывод в текстовом файле:

106 pages in list
.bookmarks
20130516 - Daily Meeting Minutes
20130517 - Daily Meeting Minutes
20130520 - Daily Meeting Minutes
20130521 - Daily Meeting Minutes

Я хочу удалить первые 2 строки из моего вывода. Эта конкретная оболочка script, которую я использую для выполнения, всегда имеет эти первые 2 строки.

Вот как я сгенерировал и прочитал файл:

#Lists
PGLIST="$STAGE/pglist.lst";
RUNSCRIPT="$STAGE/runPagesToMove.sh";

#Get List of pages
$ATL_BASE/confluence.sh $CMD_PGLIST $CMD_SPACE "$1" > "$PGLIST";

# BUILD executeable script
echo "#!/bin/bash" >> $RUNSCRIPT 2>&1
IFS=''
while read line
  do
     echo "$ATL_BASE/conflunce.sh $CMD_MVPAGE $CMD_SPACE "$1" --title \"$line\" --newSpace \"$2\" --parent \"$3\"" >> $RUNSCRIPT 2>&1
done < $PGLIST

Как удалить те две верхние строки?

4b9b3361

Ответ 1

Классический ответ использовал бы sed для удаления строк 1 и 2:

sed 1,2d "$PGLIST"

Ответ 2

Вы можете достичь этого с помощью tail:

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

Ответ 3

awk:

awk 'NR>2' "$PGLIST"