shell中,如何删除文件的头尾行,而保留中间的特定行
我有一个sybase数据库的输出文件SCTP.log,内容如下:pmSctpStatSentChunksTIME-----------------------------...
我有一个sybase数据库的输出文件SCTP.log,内容如下:
pmSctpStatSentChunks TIME
----------------------- -----------
783987 Jan 30 2011 2:45PM
1845691 Jan 30 2011 2:45PM
785674 Jan 30 2011 2:30PM
1874602 Jan 30 2011 2:30PM
(4 rows affected)
问题是:在脚本中采用什么语句处理,可以去掉抬头和结尾行,而只保留中间四行数据行。现在已经知道在脚本中利用vi可以实现,但程序效率较低。现比较倾向awk等语句实现,或for循环等。语句越少越好
cat SCTP.log |sed '1d;2d;$d' 可以。但是(4 rows affected)上面有一行空格没有去掉,麻烦再帮忙改一下:) 展开
pmSctpStatSentChunks TIME
----------------------- -----------
783987 Jan 30 2011 2:45PM
1845691 Jan 30 2011 2:45PM
785674 Jan 30 2011 2:30PM
1874602 Jan 30 2011 2:30PM
(4 rows affected)
问题是:在脚本中采用什么语句处理,可以去掉抬头和结尾行,而只保留中间四行数据行。现在已经知道在脚本中利用vi可以实现,但程序效率较低。现比较倾向awk等语句实现,或for循环等。语句越少越好
cat SCTP.log |sed '1d;2d;$d' 可以。但是(4 rows affected)上面有一行空格没有去掉,麻烦再帮忙改一下:) 展开
2个回答
展开全部
cat SCTP.log |sed '1d;2d;$d'
cat SCTP.log |sed '1d;2d;$d' |sed '$d'
cat SCTP.log |sed '1d;2d;$d' | grep " "
达到目的才是王道。不做开发,效率只要不过分低就可以。
cat SCTP.log | grep ^[0-9]
cat SCTP.log |sed '1d;2d;$d' |sed '$d'
cat SCTP.log |sed '1d;2d;$d' | grep " "
达到目的才是王道。不做开发,效率只要不过分低就可以。
cat SCTP.log | grep ^[0-9]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询