【一】从第1000行开始,显示1000行。即显示1000~1999行
cat filename | tail -n +1000 | head -n 1000
【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
【三】用sed命令
sed -n '5,10p' filename
这样你就可以只查看文件的第5行到第10行。
【四】如何只保留日志文件的最后N行
$ wc -l myscript.log #查看文件的行数 475494 myscript.log $ echo "$(tail -n 1000 myscript.log)" > myscript.log $ wc -l myscript.log #查看文件的行数 1000 myscript.log
或者
tail -n 1000 myscript.log > myscript.log.tmp mv -f myscript.log.tmp myscript.log
Linux统计文件行数
语法:wc [选项] 文件…
说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
- c 统计字节数。
- l 统计行数。
- w 统计字数。
这些选项可以组合使用。
输出列的顺序和数目不受选项的顺序和数目的影响。
总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
举例分析:
统计demo目录下,js文件数量:
find demo/ -name "*.js" |wc -l
统计demo目录下所有js文件代码行数:
find demo/ -name "*.js" |xargs cat|wc -l 或 wc -l `find ./ -name "*.js"`|tail -n1
统计demo目录下所有js文件代码行数,过滤了空行:
find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l