首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除文本文件中的每一行?

如何删除文本文件中的每一行?
EN

Stack Overflow用户
提问于 2012-03-27 17:59:36
回答 6查看 39.7K关注 0票数 27

考虑具有科学数据的文本文件,例如:

代码语言:javascript
运行
复制
5.787037037037037063e-02 2.048402977658663748e-01
1.157407407407407413e-01 4.021264347118673754e-01
1.736111111111111049e-01 5.782032163406526371e-01

例如,我如何轻松地删除文件中的每一行或每10行中的9行?例如,使用bash脚本可以吗?

背景:文件很大,但我需要的数据要少得多。请注意,我使用的是Ubuntu/Linux。

EN

Stack Overflow用户

发布于 2012-03-27 18:16:29

您可以使用awk和shell脚本。Awk可能很难但是..。

这将删除告诉它的特定行:

代码语言:javascript
运行
复制
nawk -f awkfile.awk [filename]

awkfile.awk contents

BEGIN {
if (!lines) lines="3 4 7 8"
n=split(lines, lA, FS)
for(i=1;i<=n;i++)
 linesA[lA[i]]
}
!(FNR in linesA)

另外,我不记得VIM是否附带了标准的Ubuntu。如果得不到的话。

然后用vim vim文件名打开文件。

然后键入

代码语言:javascript
运行
复制
:%!awk NR\%2 or :%!awk NR\%2 

这将删除所有其他行。只需将2改为另一个整数就可以得到不同的频率。

票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9894986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档