利用命令行工具(2) 预览文件一部分

发表时间

利用命令行工具(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

相关文章

除非特别说明,本站文章均系原创,并采用 署名协议 CC-BY 授权。
欢迎转载,惟请保留原文链接:https://lfhacks.com/tech/log-toolkit-part