Linux中head与tail命令
本来以为很简单的两个命令,今天被老师一问就傻掉了.网上查了一大堆都太糙了,而且经过我实践证明都不是很严谨.
所以写个帖子,尽量把他们解释得清楚.
首先看看官方给的文档
我简单的翻译了一下
使用方法: head [option] [file]
打印前十行到标准输出
如果是多个文件,会在每个文件最开始先打印文件名以分隔With no FILE, or when FILE is -, read standard input.
-c [-]NUM 打印每个文件的前NUM个字节
如果有’-‘的话,那么就是打印所有内容除了最后的NUM个字节.
-n [-]NUM 打印每个文件的前NUM行
如果有’-'的话,那么就是打印所有内容除了最后的NUM行.
-q 多文件中打印文件并不打印文件名称
-v 打印文件名+内容(默认单文件不显示文件名)
其实这样已经很清楚了.
以防万一,我下面会给出几个样例来理解.
这是样例文本
one
teo
three
four
five
six
seven
eight
nine
head -n 3 text
执行结果
one
two
three
head -n -3 text
one
teo
three
four
five
six
head -c 5 text
one
t
#可见,这里换行也算是一个字节的
然后就是tail了,总的来说,tail和head只是略有不同.文档我就不再放出来了.直接给使用样例吧.
样本还是前面的九个字母.
tail -c 5
nine
#这里只输出了nine,文本结束最后有一个标志字符换行占一位.
tail -c +5 text
#从第5个字节开始显示
two
three
four
five
six
seven
eight
nine
这里输出了空行,可以说验证了我上面的观点:换行也算是一个字节的.
tail-n +3 text
#从第3行开始显示
three
four
five
six
seven
eight
nine
示例结束,总结一下:head和tail总得用法是一样的
格式为:head/tail [option] [file]
在数字前面没有’+‘或’-'的时候都可以解释为:从(正数/倒数)第n行开始打印.
而head -n -N代表最后N行不显示
tail +n +N代表从第N行显示至文末
按字节的话也是一样
head -c -N代表最后N个字节不显示
tail -c +N代表从第N个字节显示
如果你已经看完的话,思考一下:直接浏览文本的第1001行到1200行的操作命令是什么呢?(通过head和tail)
Linux中head与tail命令相关推荐
- Linux中head和tail命令作用,Linux 命令head和tail常见用法详解
head和tail是一组想对应的命令,默认分别显示文件的开头和末尾10行记录. head head 命令可以将一段文本的开头一部分输出到标准输出. head命令既可以处理文本文件也可以处理标准输入. ...
- linux怎么新建系统用户名,在 Linux 中不使用 useradd 命令如何创建用户账号
原标题:在 Linux 中不使用 useradd 命令如何创建用户账号 Linux 中有三个命令可以用来创建用户账号.你尝试过在 Linux 中手动创建用户吗?我的意思是不使用上面说的三个命令. -- ...
- linux在午夜运行什么命令,在Linux中如何使用at命令安排任务
原标题:在Linux中如何使用at命令安排任务 at vs cron 对于那些使用 cron 在 Linux 系统上安排任务的人来说,at 命令类似于 cron,因为你可以在选定的时间调度任务,但是 ...
- Linux中的常用shell命令(一)
1.查看文件和目录 ls #ls -l 以长格式显示 drwxr-xr-x. 2 root root 6 3月 26 2015 rh 第一个字符 :文件类型. -普通文件 d 目录 s 套接字文件 l ...
- Linux中vi的常用命令和快捷键使用
Linux中vi的常用命令和快捷键使用 文章目录: 一.VI简单介绍 二.VI三种模式的使用 1.VI底行模式的使用 2.VI编辑模式的使用 3.VI一般模式的使用 1)移动光标 2)删除.复制和粘贴 ...
- linux命令冒号加叹号,Linux中的叹号命令
在shell环境下操作,需要积累点快捷输入的小技巧: 最常用的技巧恐怕就是Tab自动补全以及上方向键来回退上几条历史命令了,这些对于csh,bash,ksh,zsh都适用. 最近还找到一种快速回退上一 ...
- Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块...
Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...
- 【日常小记】linux中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 find命令的一般形式 ...
- Linux中W与Who命令的使用
踢掉一个从某个终端连上的用户pkill -kill -t pts/0 ---------------------------------------------------------------- ...
最新文章
- Docker安装和helloworld
- 批量处理jdbc语句提高处理速度
- 判断字符串出栈合法性
- Ubuntu根目录下各文件的功能介绍
- cuda安装(cuda安装教程)
- 更深层次的了解计算机,想要对电脑拉力试验机有更深层次的了解,看这里
- 第二课: 雷电模拟器的多开和打开
- 斯坦福大学公开课:iOS8开发 第一课:课务,iOS8概述学习笔记
- GameCenter Achievement相关问题
- 手机对红外探头发送数据和接受
- CC00010.hadoop——|HadoopImpala.V10|——|Impala.v10|集群实现|负载均衡.v01|
- 微服务+微信小程序实现社区服务
- 【Python数据分析之pandas01】两个常用的数据结构
- Laravel 全汉字首字母分类排序
- Linux修改和恢复服务器时间
- CRAFT: Character Region Awareness for Text Detection ---- 论文阅读笔记
- 利用占空比的改变调节小车速度
- dataguard 日志的应用
- 倍增算法入门 超详细解答+LCA+RMQ(ST表)+例题剖析
- 如何写个优秀的Github项目Readme文档?经典模版拿去不谢~