head和tail是一组想对应的命令,默认分别显示文件的开头和末尾10行记录。
head
head命令既可以处理文本文件也可以处理标准输入。
基本应用
处理文本文件:
head input.txt
head input1.txt input2.txt
处理标准输入:
ls | head
当没有其他参数时,head默认输出前10行,当然,head有各种参数。
可选参数
-n: 输出的行数
例如,如果想输出前25行,下面三个命令是等价的:
head -n25 input.txt
head -n 25 input.txt
head -25 input.txt
可以看出,-n后面有没有空格都可以,有几个空格都可以,甚至-n本身都可以省略。
-n 后面也可以跟负数,例如:
head -n -5 input.txt
-c: 输出的字节数
head -c 5 input.txt # 5 bytes
head -c -5b input.txt # 5*512
head -c5k input.txt # 5*1024
head -c 5m input.txt #5*1048576
-c 没有默认值,所以后面必须跟数值。可以是负数,表示输出除了后N个字节以外的内容。
tail
将一段文本的结尾一部分输出到标准输出,也就是从某个节点位置开始输出。
基本用法
tail的参数基本用法和head完全一样,在此不作赘述。
只有一点需要注意,如果想表达从第N(比如25)行开始输出,要使用加号:
tail -n +25 input.txt
tail +5c input.txt #从第5个字节开始打印
常见用法
tail 有一个常见的用法:用来实时查看一个不断更新的log file。例如后台有一个logfile.txt不断更新,我们可以用下面的命令将更新内容打印在屏幕上:
tai -f logfile.txt
-f: 循环读取
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。