当前位置: 技术问答>linux和unix
如何在文件中加入行号?
来源: 互联网 发布时间:2016-02-16
本文导语: 用Bash 脚本产生一个日志文件(可能很大),希望日志文件每行之前都有一个行号。脚本定期执行,如一天一次。比如,日志文件格式为: 1:This is first line 2: This is second lie . . . 我知道可以在脚本中加入计数...
用Bash 脚本产生一个日志文件(可能很大),希望日志文件每行之前都有一个行号。脚本定期执行,如一天一次。比如,日志文件格式为:
1:This is first line
2: This is second lie
.
.
.
我知道可以在脚本中加入计数器来实现,但这样做要么需要每次脚本运行前测试当前日志文件总行数,要么需要另一个文件来记录这个总行数。
有没有更简单的方法呢?
1:This is first line
2: This is second lie
.
.
.
我知道可以在脚本中加入计数器来实现,但这样做要么需要每次脚本运行前测试当前日志文件总行数,要么需要另一个文件来记录这个总行数。
有没有更简单的方法呢?
|
最后一行第一个数字不就是日志总行数吗?用tail和awk把它取出来不就可以了。(需要对空文件做特殊处理)
其实用wc统计几十万行的文件行数还是比较快的,我做过试验,对同一个文件连续用wc统计,第一次用时稍长一些,1s多,之后每次都很快,0.2秒左右。(自己的笔记本,opensuse10.1,统计系统日志文件)
而tail的效率似乎不受文件大小的影响。
其实用wc统计几十万行的文件行数还是比较快的,我做过试验,对同一个文件连续用wc统计,第一次用时稍长一些,1s多,之后每次都很快,0.2秒左右。(自己的笔记本,opensuse10.1,统计系统日志文件)
而tail的效率似乎不受文件大小的影响。