如何从跳过第一行开始每两行跳过一行?

How to skip a line every two lines starting by skipping the first line?

大家好,我需要一些帮助

这是我的代码:ls -lt | sed -n 'p;n'

该代码让我在列出文件名时从一行跳到另一行,但不是从跳过第一行开始,如何做到这一点?

这里有一个没有我的代码的例子,可以跳过以使其清楚:

这是我使用跳过代码的例子

你必须反转你的 sed 命令:它应该是 n;p 而不是 p;n:

您的代码:

for x in {1..20}; do echo $x ; done | sed -n 'p;n'
1
3
5
7
9
11
13
15
17
19

sed反转的版本:

for x in {1..20}; do echo $x ; done | sed -n 'n;p'

输出:

2
4
6
8
10
12
14
16
18
20

您可以使用 sed 的 ~ 运算符:first~step

$ seq 1 10 | sed -n '1~2p'
1
3
5
7
9
$ seq 1 10 | sed -n '2~2p'
2
4
6
8
10