在 利用命令行工具(0) 处理日志 一文中,一系列介绍命令行处理文件的文章,本文用于预览文件一部分。 统计文件的行数 统计当前目录下某一类文件的行数: wc -l *.log 212 ./error.log 137129 ./access.log 137341 total 查看文件的部分行 有时想分析的文件体积过于庞大,用命令行编辑器直接打开过于消耗资源,这时可以只预览其中的一小部分,因为很多时候,一小部分就足以满足我们分析文件的要求。 查看文件前 N 行 查看文件前 1000 行,比如下图中标 head 的黄色部分: $ head -n KB access.log 这里的 KB 参数如果把 B 去掉,留下 K ,得到的是前 1024 行。 查看文件最后N行前面的部分 查看文件最后 100 行前面的部分,比如下图中标 head 的黄色部分: $ head -n -100 access.log 这里的 -100 中的负号表示"往回、反方向" 查看从文件的第100行开始的后面部分 比如下图中标 tail 的绿色部分: $ tail -n +100 access.log 查看文件的中间的内容 查看文件从第3行到第5行之间的内容,比如下图的中间部分: 下列两种方法皆可: $ head -n 5 access.log | tail -n +3 $ sed -n '3,5p' access.log 显示文件内容,并同时显示行号(下列两种皆可) $ cat -n file $ awk '{ print NR " " $0 }' file 将两个文件合并显示,并同时显示行号(空行不参与统计行号) $ cat -b file1 file2 显示文件最后3行,并且倒序显示,就是最先显示文件最后一行 $ tail -n 3 file | tac 查看文件的部分列 假设待分隔的文件如下: f1,f2,f3,f4,f5 a,b,c,d,e v,w,x,y,z 希望得到第2,3,4列 $ cut -d, -f2-4 file $ awk -F "," '{ print $2 "," $3 "," $4 }' file