我在文本文件中有以下输出:
106 pages in list
.bookmarks
20130516 - Daily Meeting Minutes
20130517 - Daily Meeting Minutes
20130520 - Daily Meeting Minutes
20130521 - Daily Meeting Minutes
我想从输出中删除前两行。我用来执行的这个特殊shell脚本总是有前两行。
这是我生成和阅读文件的方式:
#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
如何删除前两行?
答案 0 :(得分:24)
您可以使用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
答案 1 :(得分:18)
经典答案将使用sed
删除第1行和第2行:
sed 1,2d "$PGLIST"
答案 2 :(得分:7)
awk方式:
awk 'NR>2' "$PGLIST"