如何仅将奇数行从一个文件复制到另一个文件?

Abh*_*sia 7 command-line text-processing

我有一个包含一些信息的文本文件。如何只将该文件中的奇数行写入新文件?使用shell脚本..

Zan*_*nna 12

你可以使用sed

sed '2~2d' file > new-file
Run Code Online (Sandbox Code Playgroud)

这从第二行开始,之后匹配每第二行,并从流中删除匹配的行。剩余的奇数行被重定向到一个新文件。

  • @RonJohn 是的,它匹配偶数行并将它们从流中删除,而奇数行保持不变。我们可以使用`sed '1~2!d'` 但是为什么要浪费一个字节呢? (2认同)
  • @Zanna *但为什么要浪费一个字节* - 像真正的 [code-golfer](https://codegolf.stackexchange.com/questions)一样说话!事实上,你可以用 `sed 'n;d'` 保存另一个字节。 (2认同)

小智 9

awk 'NR%2' file > newFile
Run Code Online (Sandbox Code Playgroud)

NR 为当前行号;NR%2= 奇数线