簡體   English   中英

有沒有一種方法可以將文件中的行從n打印到m,然后反轉它們的位置?

[英]Is there a way to print lines from a file from n to m and than reverse their positions?

我正在嘗試從第10行到第20行打印文本,然后反轉它們的位置。

我已經試過了:

sed '10!G;h;$!d' file.txt

但是它只打印從10到文件末尾。 有什么方法可以只使用一個sed命令在第20行停止它?

幾乎在那,您只需要用'until'行號替換$!d

sed -n '10,20p' tst.txt
// Prints line 10 <--> 20
sed -n '10!G;h;20p' tst.txt
// Prints REVERSE line 10 <--> 20

輸出:

20
19
18
17
16
15
14
13
12
11
10

tst.txt:

1
2
3
4
...
19
20

信息

您可以使用它來打印一系列行:

sed -n -e 10,20p file.txt | tac

tac將顛倒線的順序

對於那些沒有TAC的人(例如那些Mac用戶):

sed -n -e 10,20p file.txt | tail -r 

暫無
暫無

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

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