只显示带有 cat 的奇数行

29 bash

你好,

可能这很容易,但我现在不明白这一点。在 Linux、shell 中,给定一个文本文件,我该如何做类似 cat filename 的操作,这样我只能看到第一行、第三行、5、7、9 等?

如果不是用猫,用另一个命令

谢谢

Chr*_*sen 42

使用awkawk 'NR % 2 == 0' filename

编辑:已删除{print},如 ghostdog74 的回答所示,并由 Roberto Bonvallet 评论。

  • @roberto,不需要输入重定向。 (3认同)
  • 请注意,这显示了偶数行(其中第一行是 1)和奇数行(如果您认为第一行是 0)。将 `2 == 0` 替换为相反的 `2 == 1`。 (2认同)

小智 13

或者类似的东西

sed -n 'p;n' filename
Run Code Online (Sandbox Code Playgroud)

有关解释,请查阅sed.


小智 7

使用 sed:

sed -n 1~2p filename
Run Code Online (Sandbox Code Playgroud)