您的位置:首页 > 运维架构 > Linux

linux查看日志文件内容命令sed、cat、tac、more、less、head、tail、echo 1、按时间查询 sed -n '/2017-09-20 14:00:/,/2017-

2017-11-20 12:04 1586 查看
#查询日志:linux查看日志文件内容命令sed、cat、tac、more、less、head、tail、echo

1、按时间查询

sed -n '/2017-09-20 14:00:/,/2017-09-20 15:00:]/p' catalina.out

2、按时间查询并将查询结果保存到指定文件

sed -n '/2017-09-20 14:00:/,/2017-09-20 15:00:]/p' catalina.out> catalina.out.201709201415

sed -n '/2017-09-20 14:00:/,/2017-09-20 15:00:]/p' catalina.out> catalina.out.201709201415

3、按关键字查询,输出当前这个日志的前后几行(显示关键字上下文)

cat catalina.out| grep -C 5 '失败'  #显示file文件里匹配foo字串那行以及上下5行

cat catalina.out | grep -B 5 '失败' #显示foo及前5行

cat catalina.out | grep -A 5 '失败' 显示foo及后5行

4、如何显示一个文件的某几行(中间几行)

cat filename | tail -n +3000 | head -n 1000   #从第3000行开始,显示1000行。即显示3000~3999行

cat filename | head -n 3000 | tail -n +1000    #显示1000行到3000行

*注意两种方法的顺序

分解:

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行

用sed命令

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

例:cat mylog.log | tail -n 1000 #输出mylog.log 文件最后一千行

======================================================================================

1、cat命令:

       功能:
1)一次显示整个文件。$ cat filename
2)从键盘创建一个文件。$ cat > filename 
   只能创建新文件,不能编辑已有文件.
3)将几个文件合并为一个文件: $cat file1 file2 > file

       参数:

      -n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting

      例:
把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3

把test.txt文件扔进垃圾箱,赋空值test.txt
cat /dev/null > /etc/test.txt 
注意:>意思是创建,>>是追加。千万不要弄混了。

------------------------------------------

tac (反向列示)

tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,

而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

--------------------------------------------------------------------------------------------------------

2、more命令:     

       以百分比的形式查看日志。

3、less命令:

       跟more功能差不多,只不过less支持前后翻阅文件。

4、head命令:

     功能:从文本文件的头部开始查看,head 命令用于查看一个文本文件的开头部分。

     示例如下:

     head example.txt 显示文件 example.txt 的前十行内容;

     head -n 20 example.txt 显示文件 example.txt 的前二十行内容;

     head详解:

     -n      指定你想要显示文本多少行。

     -n number     这个参数选项必须是十进制的整数,它将决定在文件中的位置,以行为单位。

     -c number     这个参数选项必须是十进制的整数,它将决定在文件中的位置,以字节为单位。

5、tail命令:

     功能:tail 命令用于显示文本文件的末尾几行。

     示例如下:

     tail example.txt 显示文件 example.txt 的后十行内容;

     tail -n 20 example.txt 显示文件 example.txt 的后二十行内容;

     tail -f example.txt 显示文件 example.txt 的后十行内容并在文件内容增加后,自动显示新增的文件内容。

     tail -n 50 -f example.txt 显示文件 example.txt 的后50行内容并在文件内容增加后,自动显示新增的文件内容。

     注意:

     最后一条命令非常有用,尤其在监控日志文件时,可以在屏幕上一直显示新增的日志信息。

     tail详解:

     -b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。 

     -c Number 从 Number 变量表示的字节位置开始读取指定文件。 

     -f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),

     那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续

     从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,

     并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。 

     -k Number 从 Number 变量表示的 1KB 块位置开始读取指定文件。 

     -m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。 

      -n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。 

       -r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。如果文件大于 20,480 字节,那么-r标志只显示最后的 20,480 字节。 -r 标志只有

   与 -n 标志一起时才有效。否则,就会将其忽略。

------------------------------------------

在Linux中echo命令用来在标准输出上显示一段字符,比如:

echo "the echo command test!"

这个就会输出“the echo command test!”这一行文字!

echo "the echo command test!">a.sh

这个就会在a.sh文件中输出“the echo command test!”这一行文字! 

该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。

用echo命令输出加引号的字符串时,将字符串原样输出;

用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: