📜  bash 打印奇数行或偶数行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:13:37.531000             🧑  作者: Mango

Bash 打印奇数行或偶数行 - Shell/Bash

在 Bash 中可以使用 sed 命令打印奇数行或偶数行。

假设我们有一个文本文件 test.txt,包含以下内容:

1
2
3
4
5

如果要打印其中的奇数行,我们可以使用以下命令:

sed -n '1~2p' test.txt

输出:

1
3
5

这里的 1~2 表示从第 1 行开始,每隔 2 行打印一次。

如果要打印偶数行,我们可以使用以下命令:

sed -n '2~2p' test.txt

输出:

2
4

这里的 2~2 表示从第 2 行开始,每隔 2 行打印一次。

除了 sed 命令,我们还可以使用 awk 命令实现相同的功能。

如果要打印奇数行,我们可以使用以下命令:

awk 'NR%2==1' test.txt

输出:

1
3
5

这里的 NR%2==1 表示当行号除以 2 的余数为 1 时,打印该行。

如果要打印偶数行,我们可以使用以下命令:

awk 'NR%2==0' test.txt

输出:

2
4

这里的 NR%2==0 表示当行号除以 2 的余数为 0 时,打印该行。

以上两种方法均可实现打印奇数行或偶数行的功能,具体使用哪种方法取决于个人习惯和具体场景。