gpt4 book ai didi

linux - 从文本文件中删除奇数行或偶数行

转载 作者:IT老高 更新时间:2023-10-28 12:38:28 32 4
gpt4 key购买 nike

我需要删除文本文件中的奇数行以进行下采样。我找到了这个命令,

awk 'NR%2==0' file

但它只打印终端中的奇数行。如何真正删除它们?

我真的不关心偶数或奇数,我希望它们从文件中删除或打印到另一个文件中。这只会在终端中打印它们。

最佳答案

awk

% 是取模运算符,NR 是当前行号,因此 NR%2==0 仅对偶数为真行并将为其调用默认规则 ({ print $0 })。因此只保存偶数行,将输出从awk重定向到一个新文件:

awk 'NR%2==0' infile > outfile

sed

您可以使用 sed 完成同样的事情。 devnulls答案显示了如何使用 GNU sed 来做到这一点。以下是没有 ~ 运算符的 sed 版本的替代方案:

保持奇数行

sed 'n; d' infile > outfile

保持线条均匀

sed '1d; n; d' infile > outfile

关于linux - 从文本文件中删除奇数行或偶数行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21309020/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com