簡體   English   中英

Bash從Z行開始從文件讀取N行

[英]Bash read N lines from file starting from line Z

我有文本文件:

34
3467uy
56ytyyu
And so on

我想從線Z開始這個文件的N行我知道如何閱讀第一N行與(頭-N N)或最后用尾巴閱讀。 我現在知道如何從Z行讀取到文件尾的尾部。 但我找不到如何讀取特定量的特定行開始。 救命!

這可以使用sed完成。 例如,要在文件中發出第10至20行:

sed -n '10,+10p' a_file

tail的輸出head

tail -n + | head -n 

例如:

$ seq 100 | tail -n +15 | head -n 5
15
16
17
18
19

使用awk :下面的示例將從第3行打印到第5行(3 + 2行)。設置start_linebuffer變量以從start_line開始打印該行並buffer更多行。

awk -vstart_line=3 -vbuffer=2 'NR>=start_line && NR<=start_line+buffer' file

使用GNU sed:

seq 1 10 | sed '2,+3!d'

輸出:

2
3
4
5

來自man sed

addr1,+N :將匹配addr1和addr1之后的N行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM