[英]Related to head and tail command in Unix
我知道head -n
和tail -n
將提供什么輸出。
是否有任何命令,例如head +n
( head +2 filename
)或tail +n
( tail +2 filename
)?
如果是,那么任何人都可以對此有所了解嗎?
tail
支持正負偏移,而head
不支持。
從文件末尾的第10行開始輸出:
tail -10 filename
從文件開頭的第10行開始:
tail +10 filename
單一Unix規范版本2(1997) 對tail
聲明如下 :
在非過時形式中,如果未指定-c或-n ,則假定為-n 10 。
在過時的版本中,以“-”或“ +”開頭的參數可以用作單個選項。 以字母c指定為后綴的參數± number等效於-c ± number ; 帶后綴b的± 數等於-c ± 數 * 512; 指定為一個后綴字母l± 號 ,或者與無B,C也不升的作為后綴,相當於-n± 數 。 如果未在這些表格中指定數字 ,則將使用10。 指定為后綴的字母f等同於指定-f選項。 如果使用[ number ] c [f]格式,並且未指定number或f后綴,則將其解釋為-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單一規范的下一個版本完全刪除了過時的格式 ,因此沒有以“ +”開頭的“選項”。
我認為管道是您要找的東西: https : //en.wikipedia.org/wiki/Pipeline_(Unix)
要使用您給出的第一個示例:
head +2 filename | head +n
我相信是您想要的,不過請注意,我尚未測試
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.