Linux之基本文本处理工具(4)

输出:

[root@localhost test]# head -c -32 log2014.log 2014-01 2014-02 2014-03 2014-04 2014-05 2014-06 2014-07 2014-08 2014-09 2014-10 2014-11 2014-12

实例4:输出文件除了最后n行的全部内容

命令:

head -n -6 log2014.log

输出:

[root@localhost test]# head -n -6 log2014.log 2014-01 2014-02 2014-03 2014-04 2014-05 2014-06 2014-07

tail

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

1.命令格式:

tail[必要参数][选择参数][文件]

2.命令功能:

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

3.命令参数:

-f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.  -q, --quiet, --silent 从不输出给出文件名的首部  -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

4.使用实例:

实例1:显示文件末尾内容

命令:

tail -n 5 log2014.log

输出:

[root@localhost test]# tail -n 5 log2014.log  2014-09 2014-10 2014-11 2014-12 ==============================

说明:

显示文件最后5行内容

实例2:循环查看文件内容

命令:

tail -f test.log

输出:

[root@localhost ~]# ping 192.168.120.204 > test.log & [1] 11891[root@localhost ~]# tail -f test.log  PING 192.168.120.204 (192.168.120.204) 56(84) bytes of data. 64 bytes from 192.168.120.204: icmp_seq=1 ttl=64 time=0.038 ms 64 bytes from 192.168.120.204: icmp_seq=2 ttl=64 time=0.036 ms 64 bytes from 192.168.120.204: icmp_seq=3 ttl=64 time=0.033 ms 64 bytes from 192.168.120.204: icmp_seq=4 ttl=64 time=0.027 ms 64 bytes from 192.168.120.204: icmp_seq=5 ttl=64 time=0.032 ms 64 bytes from 192.168.120.204: icmp_seq=6 ttl=64 time=0.026 ms 64 bytes from 192.168.120.204: icmp_seq=7 ttl=64 time=0.030 ms 64 bytes from 192.168.120.204: icmp_seq=8 ttl=64 time=0.029 ms 64 bytes from 192.168.120.204: icmp_seq=9 ttl=64 time=0.044 ms 64 bytes from 192.168.120.204: icmp_seq=10 ttl=64 time=0.033 ms 64 bytes from 192.168.120.204: icmp_seq=11 ttl=64 time=0.027 ms

说明:

ping 192.168.120.204 > test.log & //在后台ping远程主机。并输出文件到test.log;这种做法也使用于一个以上的档案监视。用Ctrl+c来终止。

实例3:从第5行开始显示文件

命令:

tail -n +5 log2014.log

输出:

[root@localhost test]# cat log2014.log  2014-01 2014-02 2014-03 2014-04 2014-05 2014-06 2014-07 2014-08 2014-09 2014-10 2014-11 2014-12 ============================== [root@localhost test]# tail -n +5 log2014.log 2014-05 2014-06 2014-07 2014-08 2014-09 2014-10 2014-11 2014-12 ==============================

hexdump

hexdump用来查看二进制文件。

1.命令格式:

hexdump [options] file...

2.命令参数:

-b 单字节八进制显示,十六进制显示偏移量,每行显示16个字符,每字符用三位显示,不足补零,列间以空格分隔 -c 单字节字符显示,十六进制显示偏移量,每行显示16个字符,每字符三位显示,不足补空格,列间以空格分隔 -C 标准十六进制+ascii码显示,十六进制显示偏移量,每行16个字符,每字符两位显示,不足补0,结尾显示当前16位数据的ascii码值,以|框住 -d 双字节十进制显示,十六进制显示偏移量,每行8组(16字节)每组5位,不足补零,列间以空格分隔,以无符号10进制数值显示 -e format_string 以指定的格式显示 -f format_file 根据format file中的格式进行输出,忽略formatfile中空行及以#开始的行 -n length 只显示length个字节的数据 -o 双字节八进制显示。十六进制显示偏移量,每行8组数据,每数据占两字节,6列,不足补零,以空格分隔 -s offset 跳过从开始的offset个字节,默认输入十进制,以0x或0X开始按16进制处理,否则如以0开始按八进制处理,如果以b/k/m结尾,则原数值乘以512/1024/1048576 -v 显示所有数据,如果不包含这一选项,对于同上一行完全相同的数据,hexdump会以*代替显示 -x 两位十六进制显示.十六进制显示偏移量,每行8组数据,每数据占两字节,4列,不足补零,以空格分隔 -e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如: 'a/b "format1" "format2"' 每个格式字符串由三部分组成,每个由空格分隔,第一个形如a/b,b表示对每b个输入字节应用format1格式,a表示对每a个输入字节应用format2格式,一般a>b,且b只能为1,2,4,另外a可以省略,省略则a=1。 format1和format2中可以使用类似printf的格式字符串,如: %02d:两位十进制 %03x:三位十六进制 %02o:两位八进制 %c:单个字符等

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14367.html