Head:输出文件的前一部分

来自泡泡学习笔记
BrainBs讨论 | 贡献2023年7月26日 (三) 00:57的版本 (创建页面,内容为“head命令默认打印每个文件的前部分(默认为10行),如果没有指定文件或者指定的文件为“-”,则从标准输入读取。概要如下: head [option]… [file]… 退出状态为零表示成功,非零值表示失败。 如果指定了多个文件,head将在每个文件的输出前打印一行标题,格式如下: ==> file name <== 该程序接受以下选项。 ==='-c [-]num'=== ==='--bytes=[-]num'=== 打印…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

head命令默认打印每个文件的前部分(默认为10行),如果没有指定文件或者指定的文件为“-”,则从标准输入读取。概要如下:

head [option]… [file]…


退出状态为零表示成功,非零值表示失败。


如果指定了多个文件,head将在每个文件的输出前打印一行标题,格式如下:

==> file name <==


该程序接受以下选项。

'-c [-]num'

'--bytes=[-]num'

打印前num个字节,而不是前几行。但是,如果num前加上'-',则打印每个文件除最后num个字节外的所有内容。num可以是一个整数,也可以是一个整数后跟以下乘法后缀之一:

'b'  =>            512 ("blocks")
'KB' =>           1000 (KiloBytes)
'K'  =>           1024 (KibiBytes)
'MB' =>      1000*1000 (MegaBytes)
'M'  =>      1024*1024 (MebiBytes)
'GB' => 1000*1000*1000 (GigaBytes)
'G'  => 1024*1024*1024 (GibiBytes)

以此类推,对于'T','P','E','Z','Y','R'和'Q'也是如此。也可以使用二进制前缀:'KiB'='K','MiB'='M'等。


'-n [-]num'

'--lines=[-]num'

输出前num行。但是,如果num前加上'-',则打印每个文件除最后num行外的所有内容。大小乘数后缀与-c选项相同。


'-q'

'--quiet'

'--silent'

不打印文件名头。


'-v'

'--verbose'

始终打印文件名头。


'-z'

'--zero-terminated'

使用零字节而不是换行符(ASCII LF)分隔项。即,将输入视为由ASCII NUL分隔的项,并以ASCII NUL终止输出项。此选项可以与'perl -0'或'find -print0'和'xargs -0'结合使用,以可靠地处理任意文件名(甚至包含空格或其他特殊字符的文件名)。


为了兼容性,head还支持一个已过时的选项语法- [num] [bkm] [cqv],只有在首次指定时才被识别。num是一个十进制数,可选择后跟大小写字母('b','k','m')表示以字节为单位,或者'l'表示以行数为单位,或者其他选项字母('cqv')。针对标准主机的脚本应该使用-c num或-n num。如果您的脚本还必须在只支持过时语法的主机上运行,通常可以简单地避免使用head,例如,使用'sed 5q'而不是'head -5'。