首页 > linux > common > 18.linux日志相关的方法cat tail head grep sed

18.linux日志相关的方法cat tail head grep sed

1 tail命令

tail用来查看文件的内容,如果值前面没有 +(加号)或 -(减号),那么从文件末尾指定的单元号开始读取文件。

1.1 tail参数说明

-f 不停的去读最新的内容 -n 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。 -r 从文件末尾以逆序方式显示输出,只有与 -n 标志一起时才有效。否则,就会将其忽略 -k Number 从 Number 变量表示的1KB 块位置开始读取指定文件

2 head命令

head命令和tail命令用来显示开头或者结尾某个数量的文字区块,head用来显示档案的开头至标准输出当中

2.1 head参数说明

-q 隐藏文件名 -v 显示文件名 -c 显示字节数 -n 显示的行数

3 sed命令作用

sed命令是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作

3.1 sed参数说明

-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~ -s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

4 cat命令作用

4.1 cat参数说明

-n 或 –number 由 1 开始对所有输出的行数编号 -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 –show-nonprinting -E, –show-ends 在每行结束处显示 $ -e 等价于-vE

cat主要有三大功能:

1.一次显示整个文件

cat filename

2.通过cat命令行创建一个文件

cat > filename

只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:

$cat file1 file2 > file

5 grep命令作用

grep全称是Global Regular Expression Print,表示全局正则表达式版本。是一种强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配的行打印出来。

5.1 grep参数说明

-n:显示匹配行及 行号 -h:查询多文件时不显示文件名 -A: 显示匹配行及前面多少行, 如: -A3, 则表示显示匹配行及前3行 -B: 显示匹配行及后面多少行, 如: -B3, 则表示显示匹配行及后3行 -C: 显示匹配行前后多少行, 如: -C3, 则表示显示批量行前后3行

6 应用举例

cat -n test.log |grep "ERROR" | more 得到关键日志的行号
cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
cat -n test.log |grep "ERROR" >xxx.txt
grep ‘2018-01-01 16:17:20’ test.log
sed -n ‘/2018-01-01 16:17:20/,/2018-01-01 16:17:36/p’ test.log
转载请保留原文链接.