我知道输出head -n
和tail -n
会提供什么。
是否有head +n
(head +2 filename
)或tail +n
(tail +2 filename
)等命令?
如果是的话,有人可以对此有所了解吗?
答案 0 :(得分:1)
tail
支持正偏移和负偏移,但head
不支持。
从文件末尾的第10行开始输出:
tail -10 filename
从文件开头的第10行开始:
tail +10 filename
答案 1 :(得分:1)
Single Unix Specification Version 2(1997)states the following for tail
:
在非过时形式中,如果既未指定 -c 也未 -n ,则假定 -n 10 。
在过时版本中,以“ - ”或“+”开头的参数可以用作单个选项。带有指定为后缀的字母c的参数± number 等同于 -c ± number ;带后缀的±数字相当于 -c ± number * 512; ±数字,字母l指定为后缀,或者没有b,c和l作为后缀,等同于 -n ± number 。如果未在这些表单中指定 number ,则将使用10。指定为后缀的字母f等同于指定 -f 选项。如果使用 [数字] c [f] 形式且未指定数字或f后缀,则将其解释为< strong> -c 10 选项。
换句话说,每组中的以下命令是等效的:
tail -2 file
tail -n 2 file
tail +2 file
tail -n +2
tail -2c file
tail -c 2 file
tail +3lf file
tail -f -n +3 file
请注意,除非使用“+”,否则给定的数字表示“输出最后N行”。如果使用“+”,则表示“输出从行N开始的行”。例如,在包含40行的文件中,tail +2
(或等效tail -n +2
)将输出行2..40,而使用-2或仅使用2将输出行39..40。
2001年单一Unix规范removed the obsolescent form completely的下一个版本,因此没有以“+”字符开头的“选项”。
答案 2 :(得分:0)
我认为滚边是您正在寻找的:https://en.wikipedia.org/wiki/Pipeline_(Unix)
使用您提供的第一个示例:
head +2 filename | head +n
我相信你想要的,但请注意我还没有测试过它